当前位置: 首页 > 知识库问答 >
问题:

harmonyos-next - arkts中使用EventHub来触发事件,emit后注册的监听未回调是什么原因?

刘野
2024-04-18

arkts中使用EventHub来触发事件,emit后注册的监听未回调是什么原因?

IDE版本4.1.3.700, 使用的api 11版本,注册代码:

public register() {    ContextHolder.getInstance().mContext?.eventHub.on(MYEventHub.ONMSGEVENT, this.onMsgUpdated);  }

事件触发:

ContextHolder.getInstance().mContext?.eventHub.emit(IMEventHub.ONMSGEVENT, msg);

msg是一个自定义类型数据

共有1个答案

景俊语
2024-04-18

注册时回调函数的this指向的是eventHub对象,是undefined,可以尝试如下修改:
IMManager.getInstance().mContext?.eventHub.on(IMEventHub.ONMSGEVENT, ()=>{this.onMsgUpdated(msg)});

 类似资料:
  • HarmonyOS Next开发中ArkTs是否支持AOP? 想类似于Android中实现切面编程,比如在方法前后增加日志,统计方法耗时等

  • 问题内容: 我是NodeJS的新手,正在学习它如何与流一起工作。读一本书,我发现了以下示例代码: 在此代码段中,我们先调用method,然后等待回调( 第1部分 )。 在下一行,我们正在监听事件( 第2部分 )。 问题: 如果在第1部分和第2部分之间发生延迟,那么首先执行第1部分的回调(在第2部分开始侦听事件之前。那是真的会丢失第一个数据块)吗? 问题答案: 不,因为您 不是在“等待” 回调。回调

  • 本文向大家介绍什么是事件监听?相关面试题,主要包含被问及什么是事件监听?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: addEventListener()方法,用于向指定元素添加事件句柄,它可以更简单的控制事件,语法为 element.addEventListener(event, function, useCapture); 第一个参数是事件的类型(如 "click" 或 "mouse

  • HarmonyOS Next开发中arkts中如何把object对象转为map? msgpack解析后的对象是object,如何将object转为map,因为ArkTS不允许使用TypeScript或JavaScript标准库中的大部分与动态特性有关接口,hasOwnProperty等不让使用,无法通过[]或者.获取object属性值: 还有其他办法吗?

  • 点击之后立马消失,click事件不会触发? https://codepen.io/perterhuan/pen/LYoxoGO 我想实现这样的效果 点击之后弹出选择框 点击选择其中一个选项之后,选择框立马消失。 尝试 借助于ant design的popover, trigger为focus,children为一个button, content为ant design List。 点击button(此

  • 问题内容: 在努力提高渐进式Web应用程序的性能时,我遇到了一项新功能,但我很难理解这一概念。 在我们的项目中有什么以及有什么需要? 问题答案: 被动事件侦听器是一种新兴的网络标准,是Chrome51附带的一项新功能,可极大提高滚动性能。 通过消除滚动以阻止触摸和滚轮事件监听器的需求,它使开发人员可以选择更好的滚动性能。 问题: 所有现代浏览器都具有线程化滚动功能,即使在运行昂贵的JavaScri