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