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);
}
})

操作步骤:

  1. 创建一个nvue页面,在onLoad里接受或不接受参数
  2. 在上一级页面预加载该页面 例如:
uni.preloadPage({ url: '/pages/common/rqcode-page?a=1', success: () => { console.log('/pages/common/rqcode-page'); }, fail(e) { console.log(e); } })

预期结果:

  1. 预加载时只触发页面的onLoad方法
  2. 返回操作正常
  3. 预加载的页面右上角按钮点击正常
  4. 进入预加载的页面时会触发onShow

实际结果:

  1. 预加载时触发页面的onLoad和onShow方法
  2. 返回操作正常异常,需要多次返回(次数取决于预加载了多少页面,原因类似于预加载的页面进入路由历史,需要多次返回才能回到正常的页面内)
  3. 预加载的页面右上角按钮点击无效
  4. 进入预加载的页面时不会触发onShow

bug描述:

preloadPage时页面如果携带参数,会导致预加载页面的onLoad和onshow异常触发,预加载完成后进入页面不触发onshow,并且路由也会出问题


1 回复

一样也出现了这个问题,带了参数后预加载会 created,onLoad,onShow 生命周期全部触发; 然后真实的跳转过去后也没有触发 onShow

回到顶部