鸿蒙元应用与卡片使用 @LocalStorageProp 进行通讯的技术分享


踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业认可,点亮职业成长先机,快人一步抢占未来应用开发赛道!https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-bokeyuan&ha_sourceId=89000444

在鸿蒙系统(HarmonyOS)的开发中,@LocalStorageProp 是一个非常有用的装饰器,用于在组件之间共享状态或数据。特别是在卡片(Card)和元服务(Meta Service)之间进行通讯时,@LocalStorageProp 可以帮助我们实现数据的持久化和同步。本文将通过一个具体的案例,详细介绍如何使用 @LocalStorageProp 进行通讯。

1、案例背景

假设我们正在开发一个幸运号生成器应用,其中包含一个卡片组件 LotteryNumbersWidgetCard。这个卡片组件需要显示生成的幸运号码,并且这些号码需要在不同的卡片实例之间共享。为了实现这一功能,我们可以使用 @LocalStorageProp 来存储和同步幸运号码。

2、案例代码分析

以下是我们提供的 LotteryNumbersWidgetCard.ets 文件的内容,其中展示了如何使用 @LocalStorageProp 进行通讯。

图片 1.png

图片 2.png

图片 3.png

图片 4.png

3、关键点解析

3.1. 使用 @LocalStorageProp

在上述代码中,@LocalStorageProp 装饰器用于定义需要持久化的属性。这些属性会在组件实例之间共享,并且在应用重启后仍然保留其值。

图片 5.png

· lotteryType: 定义了幸运号码的类型,默认值为 “5+2”。

· lotteryNumArr: 定义了生成的幸运号码数组,默认值为 [‘11 12 13 14 15 16’, ‘21’]。

3.2. 数据更新与同步

当用户点击“生成幸运号码”按钮时,会调用 GenerateLotteryUtil.generateLottery(this.lotteryType) 方法生成新的幸运号码,并更新 lotteryNumArr 属性。

图片 6.png

由于 lotteryNumArr 使用了 @LocalStorageProp 装饰器,其值会被自动持久化,并在其他卡片实例中同步更新。

3.3. 生命周期方法

在 aboutToDisappear 生命周期方法中,通过 postCardAction 方法将当前的 lotteryType 和 lotteryNumArr 发送到卡片动作中。

图片 7.png

这一步确保了在卡片消失时,当前的状态会被正确地传递出去。

4、实际开发中的注意事项

在实际开发过程中,使用 @LocalStorageProp 进行通讯时需要注意以下几点:

· 数据类型:确保 @LocalStorageProp 装饰的属性是可序列化的,例如基本数据类型、数组、对象等。

· 性能考虑:频繁地更新 @LocalStorageProp 属性可能会影响性能,因此应避免不必要的更新。

· 数据一致性:在多实例共享数据时,确保数据的一致性和同步性,避免数据冲突。

5、总结

通过使用 @LocalStorageProp 装饰器,我们可以轻松地在鸿蒙系统的卡片组件之间共享和同步数据。这不仅简化了数据管理,还提高了应用的响应速度和用户体验。希望本文的技术分享能帮助大家更好地理解和应用 @LocalStorageProp 进行通讯。

(转载自51CTO,作者:魔眼天王)

图片 8.png

 


相關推薦

2023-11-15

华为迎来又一个鸿蒙生态的重要合作伙伴,宣布与美团以HarmonyOS为基础进行产业创新、技术应用、商业发展等方面展开全面合作,全力支持美团启动开发鸿蒙原生应用工作。 自9月25日华为宣布全新HarmonyOS NEXT蓄势待发、鸿蒙原

2024-11-01

了广大开发者的热烈关注。10 月 26 日,在北京举办的 “鸿蒙生态创新论坛:共码未来,待到山花烂漫时” 活动现场,人头攒动,气氛活跃,一场关于国产操作系统生态的未来探讨就此展开。 深圳市蛟龙腾飞网络科技有限公

2025-06-24

据 OpenAtom OpenHarmony 分享,2025 年 6 月 21 日,由开源鸿蒙项目群工作委员会主办的开源鸿蒙社区年中技术会议在东莞三丫坡盛大召开。 开源鸿蒙项目群工作委员会主席、华为终端 BG 软件部总裁龚体为本次大会致辞。他表示,开

2025-06-21

开放原子开源鸿蒙(OpenAtom OpenHarmony,简称“开源鸿蒙”或“OpenHarmony”)6.0 Beta1版本正式发布。 相比5.1.0 Release版本进一步增强ArkUI组件能力,提供更安全、更灵活的组件布局;增强分布式数据管理能力,支持应用对标准化数据

2023-11-10

美团招聘官网近日更新了多个鸿蒙相关的社招开发岗位,为鸿蒙原生应用开发招兵买马。主要开发美团鸿蒙App、大众点评鸿蒙App。 其中的一个“鸿蒙高级工程师(C++)”职位就是面向美团鸿蒙 App 研发团队。根据介绍,具体的

2023-11-13

近日,网易、美团等多家互联网公司发布和鸿蒙系统有关岗位招聘,加快推进鸿蒙原生应用开发转型。 11月8日,美团发布了鸿蒙高级工程师、鸿蒙基建工程师等多个鸿蒙开发相关岗位,主要开发美团鸿蒙App、大众点评鸿蒙App。

2023-11-06

步升级到API 10。相比3.2 Release版本,新增4000多个ArkTS API,应用开发能力更加丰富;HDF新增200多个HDI接口,硬件适配更加便捷;持续优化图形框架和方舟编译器(ArkCompiler),用户交互体验得到进一步提升;ArkUI组件定制化能力和

2022-08-22

bsp;新增微盘空间管理的相关接口 #2615 增加企业微信应用市场付费部分接口支持 #2615 增加应用市场付费订单和版本相关的接口 #2620 微信客服统计管理模块增加获取「客户数据统计」企业汇总数据的接口 #2622 

2023-08-09

标准系统能力持续完善:ArkUI进一步增强基础组件能力,应用框架支持ArkTS卡片代理刷新,应用包支持应用、支持原子化服务数据共享、支持企业应用的安装管理,分布式软总线支持会话级的传输能力协商,分布式数据管理UDMF(

2025-04-01

投入,建设好黑土地。 她表示,华为云、鲲鹏、昇腾和鸿蒙生态正在快速成长。截至2024年底,鲲鹏、昇腾已累计发展665万开发者、8500多家合作伙伴;鸿蒙开发者超过720万,生态设备超10亿台,鸿蒙生态处于量变到质变的关键历

2024-10-24

在 10 月 22 日的原生鸿蒙之夜暨华为全场景发布会上,华为宣布,我国首个国产移动操作系统——华为原生鸿蒙操作系统正式发布,这是鸿蒙历史上最大的一次升级,鸿蒙系统由此成为继苹果iOS和安卓系统后,全球第三大移动操

2025-06-21

华为发布了《鸿蒙编程语言白皮书》V1.0 版本。 白皮书核心内容如下: 一、鸿蒙编程语言整体框架 多语言生态:鸿蒙支持 ArkTS、仓颉和 C/C++三种编程语言,它们相互补充,共同支撑鸿蒙应用生态构建。 ArkTS:动态类型

2024-10-14

微信鸿蒙原生版今日下午正式上架鸿蒙原生应用市场,版本号 1.0.0.36。目前正在分批放量中,可从华为应用市场(AppGallery)->【我的】-> 【应用尝鲜】中进行下载。 从目前的版本来看,安卓版微信功能大部分都能在鸿

2025-08-29

开源鸿蒙技术大会 2025 官宣将于 9 月 27 日在湖南长沙国际会议中心举行。 本次大会设置主论坛及二十余个技术分论坛,涵盖 OS 内核、编译器与编程语言、OS 原生智能等多个前沿技术议题。 此外,本次大会同步设置展示、竞