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

相关推荐
网络点点滴2 小时前
MVC架构
javascript·架构·mvc
前端无冕之王3 小时前
HTML邮件的制作以及可能遇到的问题
前端·html
ssk5211253 小时前
HTML邮件的制作以及遇到的问题
前端·html
ChoSeitaku3 小时前
10.前端部分|首页index.html|题库all_questions.html|指定题目one_question.html(html)
前端·javascript·html
Jiaberrr5 小时前
Vue 3 + Vite 项目配置访问地址到服务器某个文件夹的解决方案
服务器·javascript·vue.js·部署·服务器配置
七公子777 小时前
网络协议 HTTP、HTTPS、HTTP/1.1、HTTP/2 对比分析
前端·网络·网络协议·http
勘察加熊人7 小时前
angular日历
前端·javascript·angular.js
Min_nna7 小时前
web前端初学Angular由浅入深上手开发项目
前端·typescript·angular.js
NoneCoder7 小时前
JavaScript系列(86)--现代构建工具详解
开发语言·javascript·rust
weixin_444009007 小时前
浏览器JS打不上断点,一点就跳到其他文件里。浏览器控制台 js打断点,指定的位置打不上断点,一打就跳到其他地方了。
开发语言·javascript·ecmascript