在项目开发的时候都会涉及到多个模块状态的改变以及通知处理。
为了降低模块间的偶尔,Uniapp采用页面通讯的方式发消息给指定模块 然后告知相应的处理。
首先我们需要在当前模块里面注册事件等待接收相应的消息通知。
uni.$on('stop_do_check', function(data) {
console.log('监听到事件来自 stop_do_check ,携带参数 msg 为:' + data.msg);
that.can_do_check = false;
})
之后可以在其他模块中发送消息
uni.$emit('stop_do_check', {
msg: '拨打电话m暂停检测'
});
注意需要在窗口销毁时取消监听 否则重复进出页面会注册多次回调
uni.off('stop_do_check');
为了兼容APP和小程序 请在默认页面的onLoad声明周期中注册。不要在APP的onLuauch注册。