uni-app 使用uni.switchTab切换uni.preloadPage预热的页面后 点击其他tab时页面不切换
uni-app 使用uni.switchTab切换uni.preloadPage预热的页面后 点击其他tab时页面不切换
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
示例代码:
onLoad() {
uni.preloadPage({
url: "main"
})
this.autoLogin()
}
操作步骤:
以上代码
预期结果:
点击tab时切换页面
实际结果:
不切换页面
bug描述:
login.vue 使用uni.preloadPage,预加载main.nvue页面。然后使用uni.switchTab自动跳转到main.nvue,此时点击Tabbar上的其他tab时,页面不切换,还停留在main.nvue页面。手动点回去又正常了
更多关于uni-app 使用uni.switchTab切换uni.preloadPage预热的页面后 点击其他tab时页面不切换的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
遇到同样问题
更多关于uni-app 使用uni.switchTab切换uni.preloadPage预热的页面后 点击其他tab时页面不切换的实战教程也可以访问 https://www.itying.com/category-93-b0.html
同样问题请请问解决啦嘛
这是一个uni-app中预加载页面与tabbar切换的常见问题。问题原因在于uni.preloadPage和uni.switchTab的交互存在一些限制。
解决方案:
-
最简单的方法是移除uni.preloadPage调用,因为tabbar页面本身就有预加载机制。
-
如果必须保留预加载,可以改用setTimeout延迟执行switchTab:
onLoad() {
uni.preloadPage({
url: "main"
});
setTimeout(() => {
uni.switchTab({
url: "main"
});
}, 300);
this.autoLogin();
}
- 或者改用reLaunch代替switchTab:
uni.reLaunch({
url: "main"
});