uniapp如何实现页面之前的数据通信

22 阅读1分钟

 起始页

uni.navigateTo({
        url: "/pages/B",
        events: {
          // 接收发送过来的数据
          acceptDataFromOpenedPage: function (data) {
            console.log(data);
          },
        },
        success: function (res) {
          // 向被打开的页面进行数据传输
          res.eventChannel.emit("acceptDataFromOpenerPage", { data: "test" });
        },
      });

被打开页面接收数据

  onLoad(options) {
    const eventChannel = this.getOpenerEventChannel();
    // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
    eventChannel.on("acceptDataFromOpenerPage", function (data) {
      console.log(data);
    });

    //向起始页发送数据
    eventChannel.emit('acceptDataFromOpenedPage', {data: 'data from test page'});
  },

可以使用在邀请登录注册等使用场景。
更多使用方法可以参考官方文档uni.navigateTo(OBJECT) | uni-app官网