HarmonyOS eventHub使用问题

eventHub的问题,升级了版本以后发现多个页面同时on一个消息,其中一个off了,其他页面就收不到了

登录成功消息监听

(1) A页面aboutToAppear监听,aboutToDisappear取消监听

(2)B页面aboutToAppear监听,aboutToDisappear取消监听

(3)A跳B,后B页面的监听被A取消了,监听不到结果了

HarmonyOS eventHub使用问题  -鸿蒙开发者社区

HarmonyOS
2024-12-20 17:35:01
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

EventHub.off(event: string, callback?: Function)接口中对于第二个参数callback的解释:是不传callback,将取消对该事件的所有监听;传入了callback,只取消对该事件的一个监听。对于上述描述的场景,可以在A页面和B页面分别传入不同的监听事件回调,aboutToDisappear时off中再传入各自监听事件回调,使两个页面的监听互补干扰。如下:

//监听事件
let eventFunc1 = () => {...}
let eventFunc1 = () => {...}

//注册两个监听处理
this.context.eventHub.on('myEvent', eventFunc1);
this.context.eventHub.on('myEvent', eventFunc2);


1、this.context.eventHub.off('myEvent',eventFunc1 ); //只取消myEvent的第一个监听事件

2、this.context.eventHub.off('myEvent'); //取消所有myEvent事件的监听
分享
微博
QQ
微信
回复
2024-12-20 19:54:26
相关问题
HarmonyOS eventHub问题
182浏览 • 1回复 待解决
HarmonyOS eventHub使用
355浏览 • 1回复 待解决
关于emitter、eventHub使用场景
3349浏览 • 1回复 待解决
TaskPool里面是否可以使用EventHub
2099浏览 • 1回复 待解决
HarmonyOS eventHub创建方式咨询
343浏览 • 1回复 待解决
HarmonyOS 能否通过eventHub传递Want数据
237浏览 • 1回复 待解决
HarmonyOS 接收不到eventhub事件
242浏览 • 1回复 待解决
HarmonyOS eventHub注册和移除事件监听
569浏览 • 1回复 待解决
Emitter与EventHub的区别是什么?
1030浏览 • 1回复 待解决
HarmonyOS AudioCapturer使用问题
301浏览 • 1回复 待解决
HarmonyOS RSA使用问题
139浏览 • 1回复 待解决
HarmonyOS RichEditor 使用问题
858浏览 • 1回复 待解决
HarmonyOS地图使用问题
649浏览 • 1回复 待解决