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

相关推荐
hfd199014 分钟前
JavaScript 性能优化实战技术文章大纲
开发语言·javascript·性能优化
Hejjon18 分钟前
React 封装命令式弹窗
前端·javascript·react.js
向日葵花籽儿1 小时前
#运维 | 前端 # Linux http.server 实践:隐藏长文件名,简短路径 (http://IP:port/别名 ) 访问
linux·运维·前端
zheshiyangyang1 小时前
uni-app学习【pages】
前端·学习·uni-app
nightunderblackcat2 小时前
新手向:异步编程入门asyncio最佳实践
前端·数据库·python
前端工作日常2 小时前
我的 Jasmine 入门之旅
前端·单元测试·测试
前端小巷子2 小时前
Vue 3 运行机制
前端·vue.js·面试
yzzzzzzzzzzzzzzzzz9 小时前
JavaScript 操作 DOM
开发语言·javascript·ecmascript
奋斗的小羊羊10 小时前
HTML5关键知识点之多种视频编码工具的使用方法
前端·音视频·html5
前端呆猿10 小时前
深入解析HTML5中的object-fit属性
前端·css·html5