HarmonyOS eventHub使用问题

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

登录成功消息监听

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

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

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

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

HarmonyOS
2天前
浏览
收藏 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
微信
回复
2天前
相关问题
TaskPool里面是否可以使用EventHub
1777浏览 • 1回复 待解决
关于emitter、eventHub使用场景
2639浏览 • 1回复 待解决
HarmonyOS eventHub创建方式咨询
164浏览 • 1回复 待解决
Emitter与EventHub的区别是什么?
524浏览 • 1回复 待解决
HarmonyOS soundpool使用问题
475浏览 • 1回复 待解决
HarmonyOS lottie使用问题
379浏览 • 1回复 待解决
HarmonyOS Navigation 使用问题
432浏览 • 1回复 待解决
HarmonyOS地图使用问题
362浏览 • 1回复 待解决
HarmonyOS RichEditor 使用问题
518浏览 • 1回复 待解决
HarmonyOS websocket使用问题
276浏览 • 1回复 待解决
HarmonyOS resourceManager使用问题
488浏览 • 1回复 待解决
HarmonyOS Navigation使用问题
457浏览 • 1回复 待解决
HarmonyOS onAreaChange使用问题
802浏览 • 1回复 待解决
HarmonyOS textpicker使用问题
287浏览 • 1回复 待解决
HarmonyOS customdialog使用问题
645浏览 • 1回复 待解决
HarmonyOS ProtoBuffer使用问题
496浏览 • 1回复 待解决
HarmonyOS Slide使用问题
293浏览 • 1回复 待解决