微信小程序 路由跳转之【被打开页】与【打开页】间的数据传递

417 阅读1分钟

打开页:

navigateNext(e){
    let _this = this;
    wx.navigateTo({
      url: '/pages/main/navigateTo1/navigateTo1?id=1',
      events: {
        acceptDataFromOpenedPage: function(data) {//获取被打开页面传送到当前页面的数据
          console.log("acceptDataFromOpenedPage",data)
          _this.setData({value:data.data});
        },
        someEvent: function(data) {//获取被打开页面传送到当前页面的数据
          console.log("someEvent",data)
        }
      },
      success: function(res) {
        // 通过eventChannel向被打开页面传送数据
        res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
      }
    })
}

被打开页:

Page({
  onLoad: function(option){
    console.log(option.id)
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'});//向打开页传递数据
    eventChannel.emit('someEvent', {data: 'test'});//向打开页传递数据
    
    // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
    eventChannel.on('acceptDataFromOpenerPage', function(data) {//获取打开页的数据
      console.log(data)
    })
  }
})