EventChannel

eventChannel 是页面跳转success()回调里的一个方法

Page({
    //自定义事件
    eventChannel() {
        wx.navgateTo({
            url: '/pages/home/home',
            success(res) {
                // 发送一个事件 相当于vue 中的子组件向父组件传值
                // 通过eventChannel向被打开页面传送数据
                res.eventChannel.emit('toHome',{ 
                        baseInfo:this.data.baseInfo
                })
            }
        })
    }
})
home页面
Page({
    onLoad(){
       //    获取所有打开的EventChannel事件
        const eventChannel = this.getOpenerEventChannel();
        // 监听 index页面定义的toHome 事件
          if (eventChannel && typeof eventChannel.on === 'function') {
                  eventChannel.on('toHome', (res) => {
            console.log(res.data) // baseInfo
            this.setdata({
            ...
            })
        })
    }
          }

})

疯狂程序猿
4 声望1 粉丝

理论+实践 分享生活