收藏
回答

使用eventChannel与被打开页面通信,手机端第一次打开显示白屏第二打开才显示数据,为什么呢?

  //主页面
toParticulars(e) {
    console.log(e.currentTarget.dataset.id);
    var j = e.currentTarget.dataset.id;
    let list = this.data.lists;
    for (var i = 0; i < list.length; i++) {
      if (list[i].id == j) {
        listconnect[0] = list[i];
      }
    }
    wx.navigateTo({
      url"/pages/notice/detail",
      success(res) => {
        res.eventChannel.emit("acceptDataFromOpenerPage", {
          data: listconnect,
        });
      },
    });
  }
//被打开页面
    onLoadfunction (options{
        const eventChannel = this.getOpenerEventChannel()
        eventChannel.on('acceptDataFromOpenerPage'function (data{
            console.log(data.data)
            list = data.data
        })
        this.setData({
            list: list
        })
    },
手机型号是iphone11
回答关注问题邀请回答
收藏

1 个回答

  • 跨商通
    跨商通
    2023-05-12

    1、JS异步问题。

    list = data.data
    that.setData()//必须紧跟着写在这里,才有数据。
    
    2023-05-12
    有用 1
    回复 1
    • 王长生
      王长生
      2023-05-12
      谢谢大佬,解决了,我一开始在电脑上测好使,在手机上测不好使,然后我就不清除是什么原因了,原来是异步问题
      2023-05-12
      回复
登录 后发表内容