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也会成功调用?
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。