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

相关推荐
神奇的程序员4 小时前
我的软件冲进苹果商店下载榜前 50 了
前端
阳光是sunny4 小时前
别再被 worktree 绕晕了!AI 编程时代你必须掌握的 Git 隔离神器
前端·人工智能·后端
万少6 小时前
万少的博客 - 技术分享与解决方案
前端·javascript·后端
尘世中一位迷途小书童8 小时前
用 Cesium 撸了一个森林火情监控大屏,弧线、粒子、发光效果都齐了
前端·javascript
IT_陈寒9 小时前
垃圾回收器选错了,我的Java服务内存炸了
前端·人工智能·后端
月光下的丝瓜9 小时前
Flutter 国内安装指南
前端·flutter
先吃饱再说9 小时前
JavaScript中`this` 的“千层套路”:从默认绑定到箭头函数的五种指向
javascript
玄星啊9 小时前
AI 编程的第 30 天,我怀念古法 Coding 了
前端·ai编程
Jolyne_9 小时前
Angular基础速通
前端·angular.js
foxire10 小时前
基于nodejs实现服务端内核引擎
javascript