一、需求:
tabbar之间跳转页面时,需要传递一个参数。
官方文档明确说明: 跳转tabBar栏的页面只能使用 uni.switchTab 并且url 路径后面不能传递参数。
二、解决方法:
方法1:setStorageSync(本地缓存)
c
onclick () {
存起来,在另一个页面中获取.
uni.setStorageSync('myIndex', value);
uni.switchTab({
url:'/pages/user/user'
})
}
//user.vue 页(在onShow中从本地缓存中获取出来,进行相关操作)
c
onShow() {
const myIndex= uni.getStorageSync('myIndex');
console.log(myIndex)
}
方法2:使用全局变量:
main.js 定义全局变量
c
Vue.prototype.$name = '';
页面1: name.vue
c
this.$name= "chuanzhi";
uni.switchTab({
url:'/pages/index/index'
})
页面2:index.vue
(注意一定要放在onShow生命周期里面及时更新数据,因为tabBar会有缓存机制此时再次进入页面onLoad不会执行)
c
onShow(){
this.info.name = this.$name//赋值取得参数
}
此时this.info.name 就是name.vue页面传递过来的参数