鸿蒙开发—跨组件通信:EmitterUtil工具

在开发过程中遇到两个毫无联系的组件,页面,可以公共EmitterUtil工具来实现跨组件事件调用。传参

1.发送事件(示例)

EmitterUtil.post(Keys.SHOP_COUNT, true)

第一个参数是命名事件ID,string类型的eventId不支持空字符串

第二个参数为要传递的参数

注:在A页面一个方法即将执行完成要与B页面发生交互的时候调用该方法

2.接收订阅事件(示例)

EmitterUtil.onSubscribe<boolean>(Keys.SHOP_COUNT,  (data: boolean) => {
  this.shopCount()
})

第一个参数同样是命名事件ID,string类型的eventId不支持空字符串

第二个参数为callback 事件的回调处理函数可以在该函数内进行参数赋值,方法调用

注:在该页面的生命周期aboutToAppear内调用

3.取消订阅事件(示例)

aboutToDisappear(): void {
  EmitterUtil.unSubscribe(Keys.SHOP_COUNT)
}

注:参数是之前定义好的事件ID,调用取消订阅释放内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值