讨论广场 问答详情
HarmonyOS中 如何使用 EventHub 实现 UIAbility 与 UI 之间的事件通信​?#智解鸿蒙
黑云寨谢宝庆 2025-12-18 08:09:41
23 评论 分享
harmonyos鸿蒙

EventHub 的工作机制是什么,在 UIAbility 与 UI 中如何完成订阅、触发与取消订阅。

23 评论 分享
写回答
全部评论(1)
1 楼

EventHub 是基类 Context 提供的事件机制,支持发布-订阅模式:

  1. 在 UIAbility​ 中通过 this.context.eventHub.on('事件名', 回调)订阅事件,可使用具名函数或匿名函数。

  2. 在 UI 页面中通过 this.context.eventHub.emit('事件名', 参数…)触发事件,可传递 0~多个参数。

  3. 在 UIAbility 的回调函数中接收并处理参数,可在 onDestroy()中用 eventHub.off('事件名')取消订阅,防止内存泄漏。

2025-12-18 08:10:01