前提
对于包含登录页的小程序来说,登录页并不需要底部导航(以下简称为tabBar),且一般把登录页设置成小程序的启动页。因此造成pages数组的第一项(即登录页)和tabBar的list数组的第一项不相同的情况,导致小程序运行时不见导航栏。
解决方法
示例
如下是我的小程序全局文件(uni-app是) pages.json 的pages数组和tabBar的list数组部分截图。
对应wx小程序是 app.json 的pages数组和tabBar的list数组。
由图可知小程序的启动页是login,而tabBar的第一项是upload。因此现在运行看不见tabBar的。
解决
在login页(即不需要tabBar的页面)的onLoad函数里添加
uni.hideTabBar({
});
同理,在需要显示tabBar的页面的onLoad函数里添加
uni.showTabBar({
});
这两个函数对应wx小程序就是wx.hideTabBar和wx.showTabBar。
除此之外,还要注意的是:如果要跳转到写入tabBar的list数组的页面,只能用 uni.switchTab,或者<navigator openType=“switchTab”>,否则页面将会无法跳转。