preloadPage时页面如果携带参数,会导致预加载页面的onLoad和onshow异常触发,预加载完成后进入页面不触发onshow,并且路由也会出问题
preloadPage时页面如果携带参数,会导致预加载页面的onLoad和onshow异常触发,预加载完成后进入页面不触发onshow,并且路由也会出问题
类别 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC开发环境版本 | win10 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 4.61 |
手机系统 | Android |
手机系统版本 | Android 15 |
手机厂商 | 小米 |
手机机型 | redmi note12 5G |
页面类型 | nvue |
vue版本 | vue3 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
uni.preloadPage({
url: '/pages/common/rqcode-page?a=1',
success: () => {
console.log('/pages/common/rqcode-page');
},
fail(e) {
console.log(e);
}
})
操作步骤:
- 创建一个nvue页面,在onLoad里接受或不接受参数
- 在上一级页面预加载该页面 例如:
uni.preloadPage({ url: '/pages/common/rqcode-page?a=1', success: () => { console.log('/pages/common/rqcode-page'); }, fail(e) { console.log(e); } })
预期结果:
- 预加载时只触发页面的onLoad方法
- 返回操作正常
- 预加载的页面右上角按钮点击正常
- 进入预加载的页面时会触发onShow
实际结果:
- 预加载时触发页面的onLoad和onShow方法
- 返回操作正常异常,需要多次返回(次数取决于预加载了多少页面,原因类似于预加载的页面进入路由历史,需要多次返回才能回到正常的页面内)
- 预加载的页面右上角按钮点击无效
- 进入预加载的页面时不会触发onShow
bug描述:
preloadPage时页面如果携带参数,会导致预加载页面的onLoad和onshow异常触发,预加载完成后进入页面不触发onshow,并且路由也会出问题
1 回复
一样也出现了这个问题,带了参数后预加载会 created,onLoad,onShow 生命周期全部触发;
然后真实的跳转过去后也没有触发 onShow