【鸿蒙 HarmonyOS NEXT】使用EventHub进行数据通信
✨本人自己开发的开源项目:土拨鼠充电系统
✨踩坑不易,还希望各位大佬支持一下,在GitHub给我点个 Start ⭐⭐👍👍
✍GitHub开源项目地址👉:https://github.com/cheinlu/groundhog-charging-system
一、背景
EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。
在项目开发中,可以通过EventHub来进行页面之间的数据通信
二、EventHub的几种方法
1、emit(event: string, ...args: Object[]): void;👉👉触发指定事件。
2、on(event: string, callback: Function): void;👉👉订阅指定事件。
3、off(event: string, callback?: Function): void;👉👉取消订阅指定事件。当callback传值时,取消订阅指定的callback;未传值时,取消订阅该事件下所有callback。
三、具体实现
需求:在EventHub1页面,点击按钮将数据message,传递给EventHub2页面
3.1、EventHub1组件通过eventHub.emit()订阅事件
@Component
export struct EventHub1 {@State message: string = 'harmony'build() {Column() {Text('EventHub1')Button('点击按钮向EventHub2发事件').onClick(() => {getContext().eventHub.emit('share', this.message) //订阅事件})}.height(100).width('100%').justifyContent(FlexAlign.Center).borderWidth(2).borderColor(Color.Red)}
}
3.2、EventHub2组件通过eventHub.on()触发事件
@Component
export struct EventHub2 {@State shareMessage: string = ''aboutToAppear(): void {//触发事件getContext().eventHub.on('share', (message: string) => {this.shareMessage = message})}build() {Column() {Text('EventHub2')Text() {Span('接收EventHub1发送的内容:')Span(this.shareMessage).fontColor(Color.Orange).fontWeight(FontWeight.Bold)}}.height(100).width('100%').justifyContent(FlexAlign.Center).borderWidth(2).borderColor(Color.Green)}
}
3.3、实际效果


3.4、取消订阅事件
当离开页面时可以取消订阅事件,aboutToDisappear中使用eventHub.off()来进行取消,如下操作:
aboutToDisappear(): void {getContext().eventHub.off('share')}
相关文章:
【鸿蒙 HarmonyOS NEXT】使用EventHub进行数据通信
✨本人自己开发的开源项目:土拨鼠充电系统 ✨踩坑不易,还希望各位大佬支持一下,在GitHub给我点个 Start ⭐⭐👍👍 ✍GitHub开源项目地址👉:https://github.com/cheinlu/groundhog-charging-syst…...
大模型RAG实战|构建知识库:文档和网页的加载、转换、索引与存储
我们要开发一个生产级的系统,还需要对LlamaIndex的各个组件和技术进行深度的理解、运用和调优。本系列将会聚焦在如何让系统实用上,包括:知识库的管理,检索和查询效果的提升,使用本地化部署的模型等主题。我将会讲解相…...
江协科技stm32————11-5 硬件SPI读写W25Q64
一、开启时钟,开启SPI和GPIO的时钟 二、初始化GPIO口,其中SCK和MOSI是由硬件外设控制的输出信号,配置为复用推挽输出 MISO是硬件外设的输入信号,配置为上拉输入,SS是软件控制的输出信号,配置为通用推挽输出…...
网络编程day04(UDP、Linux IO 模型)
目录 【1】UDP 1》通信流程 2》函数接口 1> recvfrom 2> sendto 3》代码展示 1> 服务器代码 2> 客户端代码 【2】Linux IO 模型 场景假设一 1》阻塞式IO:最常见、效率低、不耗费CPU 2》 非阻塞 IO:轮询、耗费CPU,可以处…...
【android10】【binder】【2.servicemanager启动——全源码分析】
系列文章目录 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 …...
Java实现简易计算器功能(idea)
目的:写一个计算器,要求实现加减乘除功能,并且能够循环接收新的数据,通过用户交互实现。 思路: (1)写4个方法:加减乘除 (2)利用循环switch进行用户交互 &…...
Parsec问题解决方案
Parsec目前就是被墙了,有解决方案但治标不治本,如果想稳定串流建议是更换稳定的串流软件,以下是一些解决方案 方案一:在%appdata%/Parsec/config.txt中,添加代理 app_proxy_address 127.0.0.1 app_proxy_scheme http…...
Swift 创建扩展(Extension)
类别(Category) 和 扩展(Extension) 的 用法很多. 常用的 扩展(Extension) 有分离代码和封装模块的功能,例如登陆页面有注册功能,有登陆功能,有找回密码功能,都写在一个页面就太冗余了,可以考虑使用 扩展(Extension) 登陆页面的方法来分离代码 本文介绍Swift 如何创建扩展(Ex…...
九月五日(k8s配置)
一、安装环境 环境准备:(有阿里云) k8s-master 192.168.1.11 k8s-node1 192.168.1.22 k8s-node2 192.168.1.33 二、前期准备 在k8s-master主机 [rootk8s-master ~]# vim /etc/hosts …...
某极验4.0 -消消乐验证
⚠️前言⚠️ 本文仅用于学术交流。 学习探讨逆向知识,欢迎私信共享学习心得。 如有侵权,联系博主删除。 请勿商用,否则后果自负。 网址 aHR0cHM6Ly93d3cyLmdlZXRlc3QuY29tL2FkYXB0aXZlLWNhcHRjaGE 1. 浅聊一下 验证码样式 验证成功 - …...
洛谷 P10798 「CZOI-R1」消除威胁
题目来源于:洛谷 题目本质:贪心,st表,单调栈 解题思路:由于昨天联练习了平衡树,我就用平衡树STL打了个暴力,超时得了30分 这是暴力代码: #include<bits/stdc.h> using name…...
Pow(x, n)
题目 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000示例 2: 输入:x 2.10000, n 3 输出:9.26100示…...
一文带你学会使用滑动窗口
🔥个人主页:guoguoqiang. 🔥专栏:leetcode刷题 209.长度最小的子数组 求最短长度之和等于目标值。 方法一: 暴力枚举(会超时) 从头开始遍历直到之和等于target然后更新结果。这…...
如何从0到1本地搭建whisper语音识别模型
文章目录 环境准备1. 系统要求2. 安装依赖项1:安装 Python 和虚拟环境2:安装 Whisper3:下载 Whisper 模型4:进行语音识别5:提高效率和精度6:开发和集成Whisper 是 OpenAI 发布的一个强大的语音识别模型,它可以将语音转换为文本,支持多语言输入,并且可以处理各种音频类…...
PyTorch 创建数据集
图片数据和标签数据准备 1.本文所用图片数据在同级文件夹中 ,文件路径为train/’ 2.标签数据在同级文件,文件路径为train.csv 3。将标签数据提取 train_csvpd.read_csv(train.csv)创建继承类 第一步,首先创建数据类对象 此时可以想象为单个数据单元的…...
[Java]SpringBoot登录认证流程详解
登录认证 登录接口 1.查看原型 2.查看接口 3.思路分析 登录核心就是根据用户名和密码查询用户信息,存在则登录成功, 不存在则登录失败 4.Controller Slf4j RestController public class LoginController {Autowiredprivate EmpService empService;/*** 登录的方法** param …...
【Day08】
目录 MySQL-多表查询-概述 MySQL-多表查询-内连接 MySQL-多表查询-外连接 MySQL-多表查询-[标量、列]子查询 MySQL-多表查询-[行、表]子查询 MySQL-多表查询-案例 MySQL-事务-介绍与操作 MySQL-事务-四大特性 MySQL-索引-介绍 MySQL-索引-结构 MySQL-索引-操作语法 …...
mongodb在Java中条件分组聚合查询并且分页(时间戳,按日期分组,年月日...)
废话不多说,先看效果图: SQL查询结果示例: 多种查询结果示例: 原SQL: db.getCollection("hbdd_order").aggregate([{// 把时间戳格式化$addFields: {orderDate: {"$dateToString": {"for…...
怎么样处理浮毛快捷又高效?霍尼韦尔、希喂、米家宠物空气净化器实测对比
掉毛多?掉毛快?猫毛满天飞对身体有危害吗?多猫家庭经验分享篇: 一个很有趣的现象,很多人在养猫、养狗后耐心都变得更好了。养狗每天得遛,养猫出门前得除毛,日复一日的重复磨练了极好的耐心。我家…...
什么是WebGL技术?有什么特点?应用领域有哪些?
WebGL(Web Graphics Library)技术是一种在Web浏览器中渲染交互式3D和2D图形的JavaScript API。以下是对WebGL技术的详细解析: 一、定义与起源 定义: WebGL全称Web Graphics Library,即网络图形库,它允许…...
OpenClaw初学者套装:Qwen3.5-9B镜像+5个基础技能
OpenClaw初学者套装:Qwen3.5-9B镜像5个基础技能 1. 为什么选择这个组合? 上周六下午,我盯着电脑里散落各处的会议纪要、参考文章和代码片段,突然意识到自己每天要重复几十次"CtrlF→切换窗口→复制粘贴"的操作。作为一…...
基于Wan 3D Causal VAE(Show-o2)的模型,重新完整地分析 10分钟的视频 对应多少 vison token
可以。这次我按 Show-o2 官方 432432 配置 和 Wan 3D Causal VAE 的公开时间压缩规则,把 10B token 且全部都是 vision token 的情况重新完整算一遍。下面的“大小”我统一按 未压缩 RGB 原始数据量 来算;如果你问的是实际 JPG / PNG / MP4 落盘大小,那会随压缩格式、码率和…...
【JupyterLab实战】构建跨平台AI算力监控仪表盘
1. 为什么需要跨平台AI算力监控? 在AI开发过程中,我们经常遇到这样的场景:模型训练到一半突然卡死,却不知道是GPU内存爆了还是CPU瓶颈;多卡并行时某张卡莫名其妙跑不满;昇腾芯片的温度报警频繁触发却找不到…...
League-Toolkit:颠覆式英雄联盟客户端增强工具的全攻略
League-Toolkit:颠覆式英雄联盟客户端增强工具的全攻略 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-Toolkit是一款基于官…...
零基础入门AI开发:在快马平台亲手制作你的第一个口播智能体
最近在尝试入门AI开发,发现用InsCode(快马)平台做"旗博士口播智能体"特别适合零基础选手。这个项目不需要自己从头写代码,但能完整走通AI应用开发全流程,分享下我的学习笔记: 项目整体结构 整个项目分三部分:…...
从Simulink到实物:单闭环直流调速仿真如何指导真实的Arduino/STM32控制?
从Simulink到Arduino:如何将直流电机控制算法从仿真落地到真实硬件 当你第一次在Simulink中看到那个完美的电机转速响应曲线时,那种成就感是无可替代的。但很快,一个更迫切的问题出现了:这些漂亮的仿真结果,如何变成手…...
马年市场快报分析:欧美组合式一氧化碳及可燃气体报警器指南
马年市场快报分析:欧美组合式一氧化碳及可燃气体报警器指南根据您提供的快报内容,我将从专业角度逐步分析欧美组合式一氧化碳(CO)及可燃气体报警器的关键信息,包括安全标准、风险因素、探测器区别、安装建议以及相关产…...
ESP32-S3实战指南:SPI多设备管理与高效数据传输
1. ESP32-S3的SPI总线基础认知 第一次接触ESP32-S3的SPI总线时,我完全被各种专业术语搞懵了。后来在实际项目中反复折腾才发现,SPI本质上就是个"快递小哥",负责在芯片和外围设备之间搬运数据。ESP32-S3内置了4个这样的"快递站…...
llama-index 数据清洗示例、数据清洗等
文章目录示例数据清洗常见的需要清洗的数据数据清洗知识llama的一小块功能,主文章内容太多了,拆出来单独说下。示例 环境还基于之前的环境。 1、新建python文件clean_demo.py,代码: import os from llama_index.core import Do…...
推荐算法闲谈:如何在不同业务场景下理解和拆解核心指标
巧解决的是能不能学好,而指标分析解决的是这次改动是否真正创造了业务价值,以及为什么。一个非常常见、但又极易被忽视的事实是:推荐系统并不存在一套放之四海而皆准的核心业务指标。不同产品形态、不同交互方式、不同公司发展阶段࿰…...
