若是在全局app.json中配置了tabBar。那么在开发中调用wx.navigateTo接口时候,若是跳转的url与tabBar中list页面中引用同样的
页面路径,那么结果会是无法跳转。【开发版本:0.12.130400】
上面的是官方的解释,下面是我的代码报错,这个是app.json; 里面的配置项,"pagePath": "pages/logs/logs",
{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
},
"tabBar": {
"list": [{
"pagePath": "pages/index/index",
"text": "首页"
}, {
"pagePath": "pages/logs/logs",
"text": "详情"
}]
}
}
这个是我界面的index.js
Page({ data:{ // text:"这是一个页面" }, onLoad:function(options){ // 页面初始化 options为页面跳转所带来的参数 console.log(options); }, onReady:function(){ // 页面渲染完成 console.log("---index page onReady---"); }, onShow:function(){ // 页面显示 console.log("---index page onShow---"); }, onHide:function(){ // 页面隐藏 console.log("---index page onHide---"); }, onUnload:function(){ // 页面关闭 console.log("---index page onUnload---"); }, itemClick : function (){ wx.navigateTo({ url:"../logs/logs?id=1", success: function (res) { console.log(res.data+"1") }, fail: function (err) { console.log(err) } }) console.log(1111); } })
app.js和itemClick函数跳转界面冲突了,官方的要求是:
如果在这种情况下无法实现跳转并出现can not navigate to tabBar page错误,很有可能是由于在底部tabbar里面定义乐同样连接地址的bar,如果在底部footer页面定义了相同地址的bar,则此页面无法跳转,
最好是当tabbar定义了相同的跳转地址在页面中不要再定义相同的链接了。
最后再推荐个博客给大家阅读学习:http://blog.csdn.net/xiansky2015/article/details/54908130