在iOS开发中,经常会用到NSNotificationCenter进行事件广播,并且可以携带参数。在项目中的任意文件中,都可以通过广播的事件名进行注册监听者,进行各自所需的业务处理。在监听者销毁的时候,可以移除对该广播事件的监听。
那么在鸿蒙next中,是否有类似的实现呢?
在iOS开发中,经常会用到NSNotificationCenter进行事件广播,并且可以携带参数。在项目中的任意文件中,都可以通过广播的事件名进行注册监听者,进行各自所需的业务处理。在监听者销毁的时候,可以移除对该广播事件的监听。
那么在鸿蒙next中,是否有类似的实现呢?
在鸿蒙next中,可以使用系统框架
import commonEventManager from '@ohos.commonEventManager'
实现类似的效果。官方文档地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...
简单来说,
广播者:可以通过
commonEventManager.publish
方法,传入事件名和参数,发送一个广播。监听者:可以通过
commonEventManager.createSubscriber
创建一个事件监听者的实例,由各个监听者所在的模块持有,进行事件的监听和移除操作。各个监听者之间互不影响。