收藏
回答

wx.navigateTo函数,为什么在苹果真机调试中无法传递数据?

跳转事件:

    onCommodityTap(){
      wx.navigateTo({
        url'../../pages/compnent/compnent',
        success(res) => res.eventChannel.emit('onDataArrive', {commodityInfothis.data.commodityInfo})
      })
}

    目的页面:

    let commodityInfo;
    this.getOpenerEventChannel().on('onDataArrive'data => {
      commodityInfo = data.commodityInfo;
    });
    console.log('commodityInfo:', commodityInfo)

开发工具:

安卓真机:

苹果真机:


回答关注问题邀请回答
收藏

2 个回答

  • 倚楼听雨
    倚楼听雨
    2020-05-02

    知道原因了,目的页面的事件回调函数是异步的,所以在函数外访问,实际数据还没赋值完成,实测在回调函数内部操作苹果真机也是没问题的,现在的问题是开发工具和安卓真机为什么可以,这太误导人了,因为这个现象以为是同步的

    2020-05-02
    有用
    回复 1
    • 刘诗万
      刘诗万
      2020-12-11
      楼主找到解决方法了吗?我也遇到了这个问题,开发工具上能传递数据,手机上就不行了
      2020-12-11
      回复
  • 肖宇
    肖宇
    2020-05-01
    member.js
    
    wx.navigateTo({
      url: '/pages/enterprise/member/edit',
      events: {
        callback: function () {
          that._loadData()
        }
      },
      success: function (res) {
        res.eventChannel.emit('setUserData', members[index])
      }
    })
    


    edit.js
    
    onLoad: function () {
      const eventChannel = this.getOpenerEventChannel()
      eventChannel.on('setUserData', data => {
        this.setData({
          ...data
        })
        this._loadData()
      })
    }
    


    我的项目里面没有问题,你参考一下?

    --↓↓👍如果觉得有帮助的话请点个【有用】吧!

    2020-05-01
    有用
    回复 1
    • 倚楼听雨
      倚楼听雨
      2020-05-02
      我的在开发工具和安卓上也没问题,苹果上有问题,但看官方文档,也没有写特别注意事项,目前还不太清楚是环境问题,还是BUG
      2020-05-02
      回复
登录 后发表内容
问题标签