订阅emitter分享,谁有更好的办法?

订阅emitter分享

HarmonyOS
2024-06-11 20:10:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
hmogy

线程间实现事件实例:

点击新建或者编辑联系人的时候,点击左侧联系人实现弹窗效果。

过程如下:

1.点击左侧联系人的时候,在推栈之前调用监听方法,进行监听。

sendAccountSubscription(){ 
  let event: emitter.InnerEvent = { 
    eventId: this.emitterId 
  } 
  let eventData: emitter.EventData = { 
    data: { 
      'isAccountants': true 
    } 
  } 
  emitter.emit(event, eventData); 
  this.isSaveCon = -1; 
}

2. 在目标页面调用emitter.on方法监听到之后,执行回调方法。

getSubscription(){ 
  let innerEvent: emitter.InnerEvent = { 
    eventId: this.emitterId 
  }; 
  emitter.once(innerEvent, (eventData: emitter.EventData) => { 
    let isAccountants:boolean = eventData.data!['isAccountants']; 
    HiLog.i(TAG, 'int isAccountants' + JSON.stringify(isAccountants)); 
    if (isAccountants) { 
      this.destinationBackPress(); 
    } 
  }); 
}

3. 回调方法中调用弹框页面,监听结束。

最后调用off方法销毁订阅

分享
微博
QQ
微信
回复
2024-06-12 16:34:53
相关问题
HarmonyOS 事件订阅 emitter问题
571浏览 • 1回复 待解决
谁有办法关闭电池使用时间
6046浏览 • 1回复 待解决
鸿蒙小车出厂固件谁有
6099浏览 • 1回复 待解决
这个iot板子镜像谁有
8229浏览 • 1回复 已解决
taskpool使用 ,谁有方案?
760浏览 • 1回复 待解决
本地收发消息实践,谁有方案?
626浏览 • 1回复 待解决
转场动画,谁有方案吗?
606浏览 • 1回复 待解决
HarmonyOS emitter性能问题
52浏览 • 1回复 待解决
HarmonyOS 怎么更好捕捉到单击事件
46浏览 • 1回复 待解决
HarmonyOS emitter注销方式
62浏览 • 1回复 待解决
关于emitter、eventHub使用场景
2671浏览 • 1回复 待解决
HarmonyOS emitter关闭问题
62浏览 • 1回复 待解决
Emitter与EventHub区别是什么?
544浏览 • 1回复 待解决
HarmonyOS emitter 线程切换问题
417浏览 • 1回复 待解决
HarmonyOS emitter.on相关咨询
51浏览 • 1回复 待解决
HarmonyOS 关于emitter.EventData
46浏览 • 1回复 待解决