跳转事件:
onCommodityTap(){
wx.navigateTo({
url: '../../pages/compnent/compnent',
success: (res) => res.eventChannel.emit('onDataArrive', {commodityInfo: this.data.commodityInfo})
})
}
目的页面:
let commodityInfo;
this.getOpenerEventChannel().on('onDataArrive', data => {
commodityInfo = data.commodityInfo;
});
console.log('commodityInfo:', commodityInfo)
开发工具:
安卓真机:
苹果真机:
知道原因了,目的页面的事件回调函数是异步的,所以在函数外访问,实际数据还没赋值完成,实测在回调函数内部操作苹果真机也是没问题的,现在的问题是开发工具和安卓真机为什么可以,这太误导人了,因为这个现象以为是同步的
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() }) }
我的项目里面没有问题,你参考一下?
--↓↓👍如果觉得有帮助的话请点个【有用】吧!