xcx: tabBar的pagePath与wx.navigateTo中url引用相同页面导致无法跳转

最近在玩微信小程序开发,突然发现了一个问题:
若是在全局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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值