navigateTo 两次跳转后,无法正常返回数据
发布于 6 年前 作者 taomao 14157 次浏览 来自 官方Issues

A页面navigateTo B页面,然后B页面 navigateTo C页面 代码如下

A页面

wx.navigateTo({
      url'../../my/customer/customerList/customerList?from=customerStatistics',
      events:{
        sendDataFromCustomerList:data=>{
          console.log(data);
        }
      }
    });

B页面

wx.navigateTo({
      url:'../customerSearch/customerSearch?from='+this.data.from,
      events:{
        sendDataFromCustomerSearch: data => {
          console.log("=======>",data);
            const eventChannel = this.getOpenerEventChannel()
            eventChannel.emit('sendDataFromCustomerList',data);
            wx.navigateBack();
        }
      }
    })

C页面

const eventChannel = this.getOpenerEventChannel()
      eventChannel.emit('sendDataFromCustomerSearch', {customer:this.data.customerList[event.currentTarget.id]});
      wx.navigateBack();


期望C页面的数据返回给B页面,B页面再返回给A页面

问题是现在B页面接收到了数据,但是A页面并没有监听到B页面发送的事件,也就没有接收到数据

当我把B页面发送数据的代码EventChannel.emit 添加timeOut 100毫秒后,就正常了


微信开发工具版本号 稳定版 Stable Build (1.03.2005140)

调试基础库 2.8.1

真机测试

iPhone8 iOS 13.4.1


1 回复

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

回到顶部