收藏
回答

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也会成功调用?





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

1 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2023-07-03

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2023-07-03
    有用
    回复
登录 后发表内容