const app = getApp()
Component({
data: {
selected: 0,
color: "#7A7E83",
selectedColor: "#3cc51f",
slist: [],
tabBarList: {
company: [
{
"pagePath": "/pages/index/index",
"text": "首页",
"iconPath": "/images/menu/discovery.png",
"selectedIconPath": "/images/menu/discovery_focus.png"
},
{
"pagePath": "/pages/notify/notify",
"text": "通知",
"iconPath": "/images/menu/chat.png",
"selectedIconPath": "/images/menu/chat_focus.png"
},
{
"pagePath": "/pages/more/more",
"text": "我的",
"iconPath": "/images/menu/burger.png",
"selectedIconPath": "/images/menu/burger_focus.png"
}
],
project: [
{
"pagePath": "/pages/proindex/proindex",
"text": "首页",
"iconPath": "/images/menu/discovery.png",
"selectedIconPath": "/images/menu/discovery_focus.png"
},
{
"pagePath": "/pages/emcs/emcs",
"text": "设备监控",
"iconPath": "/images/menu/emcs.png",
"selectedIconPath": "/images/menu/emcs_focus.png"
},
{
"pagePath": "/pages/more/more",
"text": "我的",
"iconPath": "/images/menu/burger.png",
"selectedIconPath": "/images/menu/burger_focus.png"
}
]
}
},
attached() {
},
lifetimes: {
attached() {
let tabType = app.globalData.tabType
this.setData({
slist: this.data.tabBarList[tabType]
})
}
},
methods: {
switchTab(e) {
const data = e.currentTarget.dataset
const url = data.path
console.log(app.globalData.tabType)
console.log(this.data.slist)
console.log(url)
let tabType = app.globalData.tabType
this.setData({
slist:this.data.tabBarList[tabType]
})
wx.switchTab({ url })
this.setData({
selected: data.index
})
}
}
})
我使用custom-tab-bar定义了两套tabBar,根据不同情景加载不同的tabBar, 首先进入company的tabBar是没问题的,然后返回进入第二套project的taoBar y页面,点击首页和设备监控也没问题,但是点击“我的”,tabBar就变成了第一套的,奇怪的是打印console.log(app.globalData.tabType),console.log(this.data.slist) d都是第一套的tabBar数据,显示的确实第一套的
