项目配置时,顺手给配置了全局事件总线,后续在上传小程序体验版时发现不同电脑可能是版本问题或者其他什么配置问题,用了全局事件总线的地方会报一个 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() 生命周期里面。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐