当前位置: 首页 > article >正文

Harmony鸿蒙类似与Android中broadcast广播的api使用及释义

EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。

这里需要注意,该模块接口仅可在Stage模型下使用。且Api>=9

EventHub.on   

on(event: string, callback: Function): void;

订阅指定事件。(接收广播)

参数名类型必填说明
eventstring事件名称。
callbackFunction事件回调,事件触发后调用。

EventHub.off

off(event: string, callback?: Function): void;

取消订阅指定事件。(注销广播)

  • 传入callback:取消指定的callback对指定事件的订阅,当该事件触发后,将不会回调该callback。
  • 不传callback:取消所有callback对指定事件的订阅。
参数名类型必填说明
eventstring事件名称。
callbackFunction事件回调。如果不传callback,则取消订阅该事件下所有callback。

EventHub.emit

emit(event: string, ...args: Object[]): void;

触发指定事件。(发送广播)

参数名类型必填说明
eventstring事件名称。
...argsObject[]可变参数,事件触发时,传递给回调函数的参数。

示例:

发送广播:

在需要发广播的地方调用

getContext().eventHub.emit('notify','ok')

接收广播:

在需要接收广播的地方调用

aboutToAppear(): void {
    //触发事件
    getContext().eventHub.on('notify', (message: string) => {
      this.message= message
    })
  }

注销广播

aboutToDisappear(): void {
    getContext().eventHub.off('notify')
}


http://www.kler.cn/a/402833.html

相关文章:

  • stm32下的ADC转换(江科协 HAL版)
  • java arraycopy() 方法 详解
  • (Mysql)SQL语句全解!!初上手JDBC?不知道怎么敲SQL语句?不知道关键字?来看本篇文章!带你领悟近乎全部的SQL语句!
  • 基于 LangChain4j 实现问答机器人
  • 内容补充页(相关公式解释)
  • C++11————线程库
  • Android Jetpack WorkManager 基础
  • Ubuntu VNC Session启动chromium和firefox报错
  • 03 —— Webpack 自动生成 html 文件
  • Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
  • Vue 3 中 toRaw 的详细讲解
  • 前端:JavaScript (学习笔记)【1】
  • 学习与理解LabVIEW中的格式化写入(Format into String)函数
  • ioDraw Mac客户端安装教程
  • 目录背景缺少vscode右键打开选项
  • 基于xr-frame实现微信小程序的手部、手势识别3D模型叠加和石头剪刀布游戏功能
  • 【蓝桥杯备赛】123(前缀和的复杂应用)
  • 【企业级分布式系统】 Kafka集群
  • 局域网协同办公软件,2024安全的协同办公软件推荐
  • OAI-5G开源通信平台实践(四)