山东网站建站建设南宁网页制作

张小明 2026/1/10 13:16:48
山东网站建站建设,南宁网页制作,网络营销外包推广策划方案,企业营销策划书模板轻量级的本地事件发布/订阅#xff08;Pub/Sub#xff09;机制#xff0c;用于 同一个 Ability 内不同页面或组件之间的通信#xff0c;实现 解耦的组件间通信 eventHub 是 Ability 内部私有 的#xff0c;不能跨 Ability 通信#xff08;如从一个 EntryAbility 发消息到…轻量级的本地事件发布/订阅Pub/Sub机制用于同一个 Ability 内不同页面或组件之间的通信实现解耦的组件间通信eventHub是Ability 内部私有的不能跨 Ability 通信如从一个 EntryAbility 发消息到另一个 ServiceAbility。使用1在 Ability 中获取 eventHub你的代码// EntryAbility.ts export default class EntryAbility extends UIAbility { onCreate() { // 获取 eventHub通常保存为成员变量 this.eventHub this.context.eventHub; } }this.context.eventHub只能在UIAbility的生命周期方法中访问如onCreate,onWindowStageCreate。2在页面中使用需通过 AppStorage 或其他方式传递由于 ArkTS 页面组件Component无法直接访问Ability的context通常需要将eventHub存入全局状态在 Ability 中存入 AppStorage// EntryAbility.ts import { AppStorage } from kit.ArkUI; export default class EntryAbility extends UIAbility { onWindowStageCreate(windowStage: window.WindowStage) { // 将 eventHub 存入全局注意仅存引用不序列化 AppStorage.setOrCreate(eventHub, this.context.eventHub); windowStage.loadContent(pages/Index); } }在页面中使用// Index.ets import { AppStorage } from kit.ArkUI; Entry Component struct Index { build() { Column() { Button(发送事件) .onClick(() { const hub AppStorage.getEventHub(eventHub); // 发布事件 hub.emit(userLogin, { userId: 123, name: Alice }); }) } } }在另一个页面监听// Profile.ets Entry Component struct Profile { aboutToAppear() { const hub AppStorage.getEventHub(eventHub); // 订阅事件 hub.on(userLogin, (data) { console.log(收到登录事件:, data); // 更新 UI }); } aboutToDisappear() { // 务必取消订阅避免内存泄漏 const hub AppStorage.getEventHub(eventHub); hub.off(userLogin); } }方法说明emit(event: string, ...args: any[])发布事件可传参数on(event: string, callback: Function)订阅事件off(event: string, callback?: Function)取消订阅建议在aboutToDisappear中调用once(event: string, callback: Function)订阅一次触发后自动取消3注意事项1.不能跨 Ability 使用eventHub仅限同一个 UIAbility 内部通信。跨 Ability 请使用Want / AbilityStage / 全局状态管理如 AppStorage 状态变量。2.必须手动取消订阅否则会导致内存泄漏回调函数持有页面引用阻止 GC。推荐在aboutToDisappear()中调用off()。3.不适合复杂状态管理对于全局状态如用户信息、主题建议使用StorageLinkAppStorage自定义状态管理库如类似 Redux 的方案4替代方案对比方案适用场景优点缺点eventHub同 Ability 内简单通知轻量、官方支持不能跨 Ability需手动管理订阅AppStorageStorageLink全局状态共享响应式更新自动同步仅支持简单数据类型自定义 Callback父子组件通信简单直接需 props 逐层传递UIContext封装统一事件管理可扩展非官方增加复杂度
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

古镇建网站公司可口可乐网络营销案例

GPT-OSS-20B能看懂图片吗?多模态扩展路径解析 在智能家居设备日益复杂的今天,越来越多老人面对家电上闪烁的指示灯一脸茫然:“这红灯一闪一闪的,是不是坏了?”如果AI能直接“看”懂这张照片,并用大白话告诉…

张小明 2025/12/30 18:52:32 网站建设

网站建设主题大全百度发广告需要多少钱

Photoshop终极AVIF插件安装指南:轻松开启下一代图像格式 【免费下载链接】avif-format An AV1 Image (AVIF) file format plug-in for Adobe Photoshop 项目地址: https://gitcode.com/gh_mirrors/avi/avif-format 想要在Photoshop中体验AVIF格式的强大压缩能…

张小明 2025/12/30 10:34:51 网站建设

乌海网站建设wordpress编辑器添加下拉按钮

Windows 7 电脑使用前的准备工作 如果你刚购买了一台新的 Windows 7 电脑,你可能迫不及待地想尝试浏览网页、玩游戏、看视频或查看你喜欢的照片等。不过,在享受这些乐趣之前,不要忽略一些必要的准备工作,比如设置电脑与其他设备协同工作、确保网络连接安全、管理电脑的电源…

张小明 2025/12/30 15:17:32 网站建设

网站维护费用明细务川县建设局官方网站

SimHei字体资源下载:解决中文显示问题的终极方案 【免费下载链接】SimHei字体资源下载 SimHei字体资源提供了一个简洁高效的解决方案,特别适合在数据可视化工具如matplotlib中显示清晰的中文字符。该字体文件不仅适用于图表制作,还能广泛应用…

张小明 2026/1/5 23:24:15 网站建设

dedecms本地打开网站青岛信息优化排名推广

第一章:Open-AutoGLM加密密钥管理方案概述Open-AutoGLM 是一种面向自动化生成语言模型(AutoGLM)系统的开源加密密钥管理框架,旨在为分布式AI推理与训练环境提供安全、可审计且高可用的密钥生命周期管理能力。该方案支持多租户隔离…

张小明 2025/12/31 3:56:27 网站建设

新闻门户网站建设免费源码分享网站

第一章:R语言极值分布拟合在气象数据中的基本概念极值分析是研究罕见但具有重大影响事件的重要统计方法,广泛应用于气象、水文和金融等领域。在气象学中,极端气温、强降雨或飓风等事件虽发生频率低,但其潜在破坏力巨大。R语言提供…

张小明 2025/12/31 3:56:28 网站建设