众所周知,微信小程序的tabBar都是新开页面的,而微信文档上又表明了最多只能打开5层页面。这样就很容易导致出问题啦,假如我的tabBar有5个呢?下面是微信原话:
一个应用同时只能打开5个页面,当已经打开了5个页面之后,wx.navigateTo
不能正常打开新页面。请避免多层级的交互方式,或者使用
switchTab
因此这几天想着根据微信tabBar数组来自定义模板供页面调用。不过我在list里面每个对象都增加了一个selectedColor和active属性,方便对每个tabBar当前页做样式,如果不传直接使用设置的selectedColor。因此这串数据只能设定在各个页面下,不能设定在公用的app.js配置文件下,稍微有点代码冗余,下次研究下怎么直接配置到app.js完善下。
请看示例代码:
app.js
{
"pages": [
"pages/index/index",
"pages/logs/logs",
"pages/Login/Login",
"pages/teachers/teachers",
"pages/testpaper/testpaper",
"pages/login1/login1",
"pages/myinfo/myinfo"
],
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "************",
"backgroundColor": "#fff",
"navigationBarTextStyle": "black"
},
"tabBar": {
"color": "#a9b7b7",
"selectedColor": "#666",
"borderStyle": "white",
"list": [
{
"pagePath": "pages/teachers/teachers",
"selectedIconPath": "public/1.png",
"iconPath":"public/1.png",
"text": "评教"
},
{
"pagePath": "pages/myinfo/myinfo",
"selectedIconPath": "public/2.png",
"iconPath": "public/2.png",
"text": "我的"
}
]
}
}
使登录界面跳转到有Tabbar的界面
wx.switchTab
wx.switchTab({
url: "../teachers/teachers"
})
如次可以实现从没有tabBar的页面 跳转到有Tabbar的界面。