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

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

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

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

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

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

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

2025-12-14 23:29:13