最近在玩微信小程序开发,突然发现了一个问题:
若是在全局app.json中配置了tabBar。那么在开发中调用wx.navigateTo接口时候,若是跳转的url与tabBar中list页面中引用同样的页面路径,那么结果会是无法跳转。【开发版本:0.12.130400】
1.app.json
{
"pages":[
"pages/index/index",
"pages/logs/logs"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
},
"tabBar": {
"selectedColor": "#aaaaaf",
"borderStyle": "white",
"list": [{
"pagePath": "pages/index/index",
"text": "首页"
}, {
**"pagePath": "pages/logs/logs"**,
"text": "日志"
}]
}
}
2.index.js中通过modal进行跳转
//index.js
//获取应用实例
var app = getApp()
Page({
data: {
motto: 'Hello World',
userInfo: {}
},
//事件处理函数
bindViewTap: function () {
wx.showModal({
title: '提示',
content: '这是一个测试弹窗',
confirmText: "yes",
cancelText: "no",
showCancel: false,
success: function (res) {
if (res.confirm) {
**wx.navigateTo({
**url: '../logs/logs',**
success: function (res) {
// success
console.log('success')
},
fail: function () {
// fail
console.log('fail')
}
})**
}
}
})
},
onLoad: function () {
console.log('onLoad')
var that = this
//调用应用实例的方法获取全局数据
app.getUserInfo(function (userInfo) {
//更新数据
that.setData({
userInfo: userInfo
})
})
wx.showToast({
title: '加载中',
icon: 'loading',
duration: 10000
})
setTimeout(function () {
wx.hideToast()
}, 2000)
}
})
3.当点击头像时候,会在调试页面中输出:
fail (即调用wx.navigateTo这个api失败)
4.若是任意修改app.json中tabBar中日志栏的pagePath(只要不与navigateto跳转页相同),那么可以成功跳转。
额,就是做个标记而已。
参考:
http://blog.csdn.net/xiang_qi_li/article/details/54407034
版权声明:本文为xianSky2015原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。