EventChannel 开发工具调试和真机调试 不一致的问题?
A页面跳转到B页面并通过EventChannel 传递参数 A页面onButtonTaped() {
wx.navigateTo({
url:url,
success:function(res){
res.eventChannel.emit('init', initEventArgs)
}
});
}
B页面 onLoad(){
let eventChannel = this.getOpenerEventChannel();
eventChannel.on('init', this.onInit);
},
onShow(){
...
},
onInit(initEventArgs){
...
}
真机的执行顺序: B的OnLoad B的OnShow A的Success回调 B的OnInit 但是在macOS的小程序开发工具上的执行顺序: A的Success回调 B的OnLoad B的OnInit B的OnShow 为什么A的success 会先于B页面的onLoad onShow 调用? A页面emit init事件时候,B页面onLoad里面的 绑定init事件还没有执行,为什么最终B页面的onInit也会成功调用?