概述
问题描述
在使用uniapp
中uni.switchTab
跳转到相应的 tabbar
页面后,无法读取到需要传递过来的参数。目前没有很好的直接传递参数的方法(2021年8月)。
问题分析
tabbar
页面在加载完成后,不会在切换和跳转中被销毁。也就是意味着跳转到已经加载过了的tabbar
页面后,onLoad
中的代码是不会去执行。好在onShow
、onHide
中的代码在切换、展现、隐藏执行。
解决问题
- 利用
uni.reLaunch()
关闭所有页面,打开到应用内的某个页面。
// 跳转页面
uni.reLaunch({
url:'pages/home/index?id=123&val=reLaunch'
});
// tabbar 页面
onLoad(option){
console.log(option); // {id: 123, val: reLaunch}
}
- 利用
uni.setStorageSync
本地缓存需要传递的参数,在跳转到tabbar
页面后用onShow
和uni.getStorageSync
拿到存储的参数。
// 跳转页面
toSomePage(){
uni.setStorageSync('option',{id:123, val:'switchTab'})
uni.switchTab({
url:'pages/home/index'
});
}
// tabbar 页面
onLoad(option){
console.log(option); // {}
},
onShow(){
let option = uni.getStorageSync('option');
console.log(option); // {id: 123, val: reLaunch}
}
问题总结
tabbar
加载后不会因跳转被销毁;uni.reLaunch()
可以关闭所有页面,打开某一页面;onShow()
中的代码在切换时执行。
点赞 评论 收藏 ~~ 有疑惑的小伙伴,可能是我表达不清楚,可以留言讨论,如有错误,也希望大家不吝指出。 ~~ 点赞 评论 收藏
最后
以上就是缥缈蓝天为你收集整理的uniapp 解决switchTab跳转tab页面不能直接传参问题的全部内容,希望文章能够帮你解决uniapp 解决switchTab跳转tab页面不能直接传参问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复