先看下他们的文档
1、微信小程序
https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html
需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数
。
2、uni-app
https://uniapp.dcloud.net.cn/api/router.html#switchtab
需要跳转的 tabBar 页面的路径(需在 pages.json 的 tabBar 字段定义的页面),路径后不能带参数
那么问题来了,我从tabA跳转到tabB怎么传参呢?
参数工具类
其实可以通过一个全局变量,来传递参数,为了只传一次,每次获取之后就清空,避免污染数据
js
// query-util.js
const DATA = new Map()
const KEY = 'query'
export default {
get() {
const value = DATA.get(KEY)
DATA.clear()
return value || {}
},
set(value) {
DATA.set(KEY, value)
},
}
使用方法
设置参数
js
// PageA.js
Query.set({
id: "id"
})
uni.switchTab({
url: '/pages/item-detail/item-detail',
})
接收参数
js
PageB.js
{
// 页面首次加载
onLoad: function (option) {
const query = Query.get()
},
// 页面显示
onShow: function () {
const query = Query.get()
}
}