VK1688
VK1688
  • 发布:2022-05-20 09:35
  • 更新:2022-05-20 22:39
  • 阅读:575

【报Bug】HBX3.4.7 vue3 h5 当整个项目只有1个首页时,在首页跳首页会报错!

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.4.7

浏览器平台: Chrome

浏览器版本: 94.0.4606.61

项目创建方式: HBuilderX

示例代码:
复制代码<template>  
    <view>  
        <button @click="navigateTo">跳自身页面navigateTo</button>  
        <button @click="redirectTo">跳自身页面redirectTo</button>  
        <button @click="reLaunch">跳自身页面reLaunch</button>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  

        },  
        methods: {  
            navigateTo(){  
                let random = Math.random();  
                uni.navigateTo({  
                    url:`/pages/index/index?random=${random}`  
                })  
            },  
            redirectTo(){  
                let random = Math.random();  
                uni.redirectTo({  
                    url:`/pages/index/index?random=${random}`  
                })  
            },  
            reLaunch(){  
                let random = Math.random();  
                uni.reLaunch({  
                    url:`/pages/index/index?random=${random}`  
                })  
            }  
        }  
    }  
</script>  

<style>  

</style>  

操作步骤:

直接hbx新建uniapp空白项目,选vue3模式,整个项目只写1个首页页面,页面代码为 上面的代码示例,运行h5到浏览器

预期结果:

3种方式的跳转应该能正常跳转页面才对

实际结果:

无法跳转页面,会报错。

复制代码TypeError: Cannot read properties of undefined (reading 'push')
复制代码TypeError: Cannot read properties of undefined (reading 'replace')

bug描述:

当整个项目只有1个首页时,在首页跳首页会报错!

2022-05-20 09:35 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

为了优化包体积大小,当项目只有一个页面时,会认为该项目不需要路由管理,所以无法调用uni的路由API
如果确认只需要一个页面,且还需要uni的路由跳转,临时方案,可以再新建一个空页面,后续会优化此逻辑

  • VK1688 (作者)

    好的,不过当项目只有一个页面时,就算加载路由管理,包体积也加不了多少,所以我感觉没有必要去掉路由管理的API ,毕竟2个或以上页面时,路由API就会加载,因此没有必要单独为1个页面时,去掉路由管理。

    因为1个页面时,也可能会页面跳自身页面的情况(为了让url变化)如果采用执行函数的方式修改页面内容,url不会变化,导致将页面url发给别人后,别人打开的和你本意想给客户看的url是不一致的。

    2022-05-21 15:15

该问题目前已经被锁定, 无法添加新回复

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容