HarmonyOS eventHub注册和移除事件监听
eventHub在注册事件后,如果将eventHub封装成单例调用,on函数里面参照官方demo的Function写方法名就无法回调,必须写成()=>{}这种形式才能调用,eventHub封装如下:
export class EventBus {
private eventHub: common.EventHub = (getContext(this) as common.UIAbilityContext).eventHub;
private static instance: EventBus;
private constructor() {
}
public static getInstance(): EventBus {
if (!EventBus.instance) {
EventBus.instance = new EventBus();
}
return EventBus.instance;
}
postEvent(eventKey: string, ...args: Object[]) {
this.eventHub.emit(eventKey, ...args);
}
on(eventKey: string, callback: Function) {
this.eventHub.on(eventKey, callback)
}
off(eventKey: string, callback?: Function) {
this.eventHub.off(eventKey, callback)
}
}
//这种能生效
EventBus.getInstance().on("test",()=>{})
//这种不生效,notifyUI就是一个普通函数notifyUI(){}
EventBus.getInstance().on("test", this.notifyUI)
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
注册监听关机事件,该如何处理?
1109浏览 • 1回复 待解决
系统监听注册的on和off的用法问题
2180浏览 • 1回复 待解决
HarmonyOS 原生中如何实现发送广播事件,注册监听,通知事件进行业务处理?
407浏览 • 1回复 待解决
HarmonyOS 接收不到eventhub事件
191浏览 • 1回复 待解决
HarmonyOS pages页面通过UIAbility注册的eventHub执行相关方法,执行完成后能够通过事件通知
393浏览 • 1回复 待解决
HarmonyOS ArkTS注册Native C函数监听
500浏览 • 1回复 待解决
HarmonyOS 页面和页面之间的事件监听功能
181浏览 • 1回复 待解决
怎么监听键盘的弹起和关闭事件?
3021浏览 • 1回复 待解决
HarmonyOS commonEventManager注册事件接收问题接口问题
372浏览 • 1回复 待解决
HarmonyOS 如何触发上一个web内H5注册的监听事件
94浏览 • 1回复 待解决
HarmonyOS Eventhub 注册的响应函数无法访问所在类中的其它属性字段
485浏览 • 1回复 待解决
HarmonyOS除了eventHub还有什么事件机制可以传递WrappedBuilder吗?
659浏览 • 1回复 待解决
EventHub、Emitter、commonEventManager 三种事件能力区别与选择
2043浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在事件使用完成后取消EventHub的事件订阅?
449浏览 • 1回复 待解决
HarmonyOS 无感监听routerPageUpdate 在Ability中注册失效
217浏览 • 1回复 待解决
HarmonyOS 注册监听输入键盘的显示隐藏不回调
296浏览 • 1回复 待解决
事件系统eventHub,在组件中使用 eventHub.on 订阅的方法,不能访问组件的变量
1396浏览 • 1回复 待解决
HarmonyOS 输入法监听不到键盘拉起和隐藏事件
144浏览 • 1回复 待解决
HarmonyOS 键盘事件监听问题
971浏览 • 1回复 待解决
HarmonyOS 点击事件监听问题
310浏览 • 1回复 待解决
HarmonyOS avoidAreaChange主窗口注册监听是否能监听子窗口的键盘变化
149浏览 • 1回复 待解决
HarmonyOS on('keyboardHeightChange')主窗口注册监听是否能监听子窗口的键盘高度变化
138浏览 • 1回复 待解决
HarmonyOS 有没有监听截屏事件和禁止截屏的方法
1300浏览 • 1回复 待解决
HarmonyOS eventHub和Emitter是否会造成内存泄漏
458浏览 • 1回复 待解决
HarmonyOS eventHub创建方式咨询
301浏览 • 1回复 待解决
this指向问题
目前规避方案可以使用bind(this),但是官方不推荐使用bind方式,推荐的是箭头函数
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/typescript-to-arkts-migration-guide-V5#%E4%B8%8D%E6%94%AF%E6%8C%81functionbind