表示uni.$emit(eventName,OBJECT)触发全局自定义事件。附加参数传递给侦听器回调。其中,eventName为事件名称,OBJECT为触发事件的附加参数。示例代码如下:uni.$emit('update',{msg:'pageupdate'})uni.$on(eventName,callback)监听全局自定义事件,事件由uni.$emit()触发,回调函数将接收所有传入号码。eventName是事件的名称,callback是事件的回调函数。示例代码如下:uni.$on('update',function(data){console.log('从update监听事件,携带的参数msg为:'+data.msg);})的作用是在实际开发中触发页面的动态更新会非常有效。比如某手机项目用自己写的组件替换tabbar,实现tabbar跳转。此时微信支付等某个页面成功,需要返回到这个tabbar页面。你会发现它不会像普通的unipage(onshow生命周期)。会动态刷新,会极大影响实际用户体验。所以这个方法很有效,只要在组件里写uni.$emit('update',{msg:'pageupdate'})然后在页面上使用uni.$on('update',function(data){console.log('从update监听到事件,携带的参数msg为:'+data.msg);})接收,只写函数。实际应用示例如下:组件中:onShow(){switch(this.Tab){case'demo':uni.$emit('update',{msg:'pageupdate'});休息;}},demopageIn:created(){uni.$on('update',(res)=>{this.list()console.log(res,'update');})},事件被触发在组件中,demo页面监听事件,可以刷新!
