HarmonyOS 事件触发相关
现在有个发送消息场景:
父组件(创建与发送消息逻辑) --> A子组件 --> B子组件 --> B-1子组 --> C子组件
在A组件 B组件 C组件以及子组件的子组件B-1子组件中, 都需要触发到发送不同类型值去进行消息创建与发送消息逻辑,这个时候能选择的实现方式
①有接口一级一级回调②使用Emitter等。
通过接口传入感觉就很冗余,所以想问一下,能使用Emitter来通知父组件进行统一的消息处理和发送吗?
会不会有什么性能问题呢?有没有更加推荐的实现方式呢?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS onVisibleAreaChange事件没有触发
449浏览 • 1回复 待解决
HarmonyOS onPageShow事件无法触发
298浏览 • 1回复 待解决
HarmonyOS onPageShow事件无法触发
476浏览 • 1回复 待解决
HarmonyOS ImageSpan点击事件无法触发
801浏览 • 1回复 待解决
HarmonyOS 回车触发点击事件
306浏览 • 1回复 待解决
长按事件如何重复触发
2421浏览 • 1回复 待解决
HarmonyOS 如何监听截屏事件触发
498浏览 • 1回复 待解决
HarmonyOS 滑动的触摸事件,也会触发点击事件响应
779浏览 • 1回复 待解决
HarmonyOS AVCastPicker组件的onStateChange事件不会触发
284浏览 • 1回复 待解决
js开发wearable onswipe事件无法触发
8083浏览 • 1回复 已解决
HarmonyOS webInited这个事件有时候触发有时候不触发
451浏览 • 1回复 待解决
HarmonyOS Navigation里面的页面不会触发onPageShow事件
415浏览 • 1回复 待解决
HarmonyOS 怎么实现事件触发拉起软键盘
211浏览 • 1回复 待解决
图片组件无法触发LongPressGesture长按事件
731浏览 • 1回复 待解决
HarmonyOS Video组件的错误事件相关
819浏览 • 1回复 待解决
HarmonyOS pop气泡提示时点击事件无法触发
223浏览 • 1回复 待解决
焦点事件onBlur/onFocus回调无法触发
2349浏览 • 1回复 待解决
HarmonyOS 应用内浮窗点击事件相关
293浏览 • 1回复 待解决
HarmonyOS 滚动事件相关的解决方案
225浏览 • 1回复 待解决
HarmonyOS tabs的onContentWillChange事件会触发两次
913浏览 • 1回复 待解决
HarmonyOS List中Item的onClick事件触发问题
493浏览 • 1回复 待解决
HarmonyOS 手势识别双击,无论双击间隔多快,均无法触发,都触发单击事件
734浏览 • 1回复 待解决
是否可以通过代码触发组件的点击事件
2193浏览 • 1回复 待解决
HarmonyOS 共事件模块,针对锁屏和解锁,回调事件并不会触发
551浏览 • 1回复 待解决
emitter没有限制事件队列,本身的消息处理能力与应用有关,当前场景应该不会出现性能问题。可以把接口传入的方法封装成工具类等进行调用。
LocalStorage可以实现页面级的UI状态存储,您看看是否能满足您的需求,参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-localstorage-V5#%E6%A6%82%E8%BF%B0
可以看下eventHub能否满足需求,一般用于同一线程内。不同线程可以使用emitter,参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inner-application-eventhub-V5#%E5%AF%BC%E5%85%A5%E6%A8%A1%E5%9D%97
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-emitter-V5#emitteremit
1、eventHub使用上性能较优,可以替代provide/consume
2、实现对应需求,修改demo,具体为:page1到page2的方式改为router.replaceUrl,eventHub事件回调修改为箭头函数,例如:
另外,eventHub取消订阅时,需要指定具体回调,否则会取消该事件所有的事件订阅,参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-inner-application-eventhub-V5#eventhuboff