1:概述
在uni-app的原生混合开发中,我们经常会遇到原生需要向Vue页面发 送消息的需求,如:刷新页面,消息提醒等;
uni-app给我们提供了解决方案 :全局监听事件,uni-app 原生开发分别通过 DCUniSDKInstance和AbsSDKInstance 实现了全局监听事件。
2:苹果(ios)实现示例
1:创建一个Module原生插件。
2: 在Module原生插件中获取DCUniSDKInstance ,
DCUniSDKInstance * instance = self.uniInstance;
3: 触发监听事件,并传递参数
//监听事件名称
NSString *eventName = @"eventName";
//传送到vue页面的参数
NSDictionary *params = @"{}";
[instance fireGlobalEvent:eventName params:params];
3:安卓(android)实现示例
1:创建一个Module原生插件。 2: 在Module原生插件获取AbsSDKInstance, 触发监听事件,并传递参数
//事件名称,需要与vue页面的事件名称相同
String eventName="eventName";
Map<String,Object> params =new HashMap<>();
mUniSDKInstance.fireGlobalEventCallback(eventName,params);
4:vue(uni-app)实现示例
监听事件,并处理参数
//eventName 监听事件名称必须和原生的事件名称一致
plus.globalEvent.addEventListener('eventName', (e)=>{
//写入你的处理代码
});