uniapp 实现tabBar-switchTab之间的传参

一、需求:

tabbar之间跳转页面时,需要传递一个参数。

官方文档明确说明: 跳转tabBar栏的页面只能使用 uni.switchTab 并且url 路径后面不能传递参数。

二、解决方法:

方法1:setStorageSync(本地缓存)

//index.vue

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页面传递过来的参数

相关推荐
午安~婉18 小时前
HTML CSS八股
前端·css·html
有事没事实验室18 小时前
css变量
前端·css
前端付豪18 小时前
Vue 中的 JSX:让组件渲染更灵活的正确方式
前端·javascript·vue.js
在泡泡里18 小时前
前端规范【四】eslint(antfu)、lefthook、commitlint
前端
烛阴18 小时前
Python 几行代码,让你的照片秒变艺术素描画
前端·python
Jolyne_18 小时前
如何实现无感刷新Token
前端
用户40993225021218 小时前
Vue3响应式系统的底层原理与实践要点你真的懂吗?
前端·ai编程·trae
2501_9159214318 小时前
iOS 抓不到包怎么办?工程化排查与替代抓包方案(抓包/HTTPS/Charles代理/tcpdump)
android·ios·小程序·https·uni-app·iphone·tcpdump
qq_4798754319 小时前
RVO和移动语义
前端·算法
加菲喵19 小时前
深度解析:在vue3中使用自定义Hooks
前端