项目配置时,顺手给配置了全局事件总线,后续在上传小程序体验版时发现不同电脑可能是版本问题或者其他什么配置问题,用了全局事件总线的地方会报一个 TypeError: Cannot read property 'call' of undefined,后续发现还得用uni-app官方所用的页面通讯
uni.$emit(eventName,OBJECT)
触发全局的自定义事件,附加参数都会传给监听器回调函数。
uni.$emit('update',{msg:'页面更新'})
uni.$on(eventName,callback)
监听全局的自定义事件,事件由
uni.$emit
触发,回调函数会接收事件触发函数的传入参数。
created() {
uni.$on('update', (data) => {
console.log('监听到事件来自 update ,携带参数 msg 为:' + data.msg);
})
}
Tips:最好是放在 created() 生命周期而不是 mounted() 生命周期里面。