HarmonyOS(30) @LocalStorageLink使用指南

news2025/1/17 21:14:24

这里写目录标题

  • @LocalStorageLink。
  • 使用示例
  • 参考资料

@LocalStorageLink。

LocalStorage是页面级的UI状态存储,通过@Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。而@LocalStorageLink则是LocalStorage 相关装饰器之一。@LocalStorageLink装饰的变量与LocalStorage中给定属性建立双向同步关系。它可以将自定义组件的状态变量最新的值同步到LocalStorage

  • 本地修改发生,该修改会被写回LocalStorage中;

  • LocalStorage中的修改发生后,该修改会被同步到所有绑定LocalStorage对应key的属性上,包括单向(@LocalStorageProp和通过prop创建的单向绑定变量)、双向(@LocalStorageLink和通过link创建的双向绑定变量)变量。

在这里插入图片描述

使用示例

如下代码所示:

  • 首先初始化了一个LocalStroage对象storage
  • 将storage通过@Entry(storage)的方式传给页面,这样@Component组件就可以访问LocalStroage
  • Child和Parent共同使用了Prop变量。

let storage: LocalStorage = new LocalStorage();
@Component
struct Child {
  // @LocalStorageLink变量装饰器与LocalStorage中的'Prop'属性建立双向绑定
  @LocalStorageLink('Prop') childLinkNumber: number = 1;
  build() {
      Button(`Child Value ${this.childLinkNumber}`) // 更改将同步至LocalStorage中的'PropA'以及Parent.parentLinkNumber
        .onClick(() => {
          this.childLinkNumber += 1;
        })
  }
}
// 使LocalStorage可从@Component组件访问
@Entry(storage)
@Component
struct Parent {
  // @LocalStorageLink变量装饰器与LocalStorage中的'Prop'属性建立双向绑定
  @LocalStorageLink('Prop') parentLinkNumber: number = 1;

  build() {
    Column({ space: 15 }) {
      Button(`Parent value  ${this.parentLinkNumber}`)
        .backgroundColor(Color.Red)
        .onClick(() => {
          this.parentLinkNumber += 1;
        })
      // @Component子组件自动获得对CompA LocalStorage实例的访问权限。
      Child()
    }.alignItems(HorizontalAlign.Center)
    .width('100%')
    .margin({top:200})
  }
}

页面效果如下,分别点击Parent和Child,会发现二者的值都会一起变化。
在这里插入图片描述

参考资料

LocalStorage:页面级UI状态存储
@LocalStorageLink官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1790423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低代码开发平台一般都有哪些功能和模块?

在当今快速变化的数字化时代,企业对于高效、灵活且经济的软件开发解决方案的需求愈发迫切。低代码开发平台应运而生,成为众多企业实现数字化转型的首选工具。本文将详细探讨低代码开发平台一般具备的主要功能和模块,以及它们如何助力企业提升…

Java数据结构-哈希表

目录 1. 概念2. 哈希冲突2.1 冲突的避免2.1.1 设计合理的哈希函数2.1.2 降低负载因子 2.2 冲突的解决-闭散列2.3 冲突的解决-开散列 3. 哈希桶的实现 1. 概念 哈希表(Hash table,也叫散列表),是根据关键码值(Key)而直接进行访问的…

反激变压器的设计要点

反激电源的设计最关键的就是在于开关电源的变压器,我们对于反激电源变压器的设计计算的最终目的是为了得到一下几点: 1 原边和副边的电流波形 2 原边和副边的电压波形或幅值 3 磁通密度状况 (我们选择的磁芯是不是饱和了,是不是…

Matplotlib | 绘制柱状图

简介 安装 Matplotlib 开始绘制 简单柱状图 改变颜色 改变纹理 改变边框样式 改变透明度 改变柱子宽度 改变图表标题 ​编辑 并列柱状图 横向柱状图 堆叠柱状图 更多函数 简介 柱状图(Bar chart),是一种以长方形的长度为变量的…

基于JSP的人才公寓管理系统

你好呀,我是计算机学长猫哥!如果有需求可以文末加我。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:浏览器(如360浏览器、谷歌浏览器、QQ浏览器等)、MySQL数据库 系统展示 …

实时数据传输:Django 与 MQTT 的完美结合

文章目录 准备工作创建 Django 项目与应用设置 MQTT 服务器编写 Django 视图编写前端模板发布 MQTT 消息运行 Django 项目 在当今互联网应用中,实时数据传输已经成为许多项目的核心需求。无论是社交媒体平台、在线游戏、金融交易还是物联网设备,都需要及…

OneCommander使用与安装手册

OneCommander使用与安装手册 一、引言 OneCommander是一款专为Windows 10和Windows 11用户设计的现代化文件管理器,它提供了直观、高效的文件浏览和管理体验。本手册将指导您完成OneCommander的安装过程,并介绍其主要功能和操作方法。 二、安装前准备…

8个免费下载音乐的网站,建议收藏!

1、My Free MP3 tools.liumingye.cn/music/ 一个好用且免费的在线音乐播放和下载网站,几乎收录了所有国内外大火的歌手和歌曲,可以通过歌手列表找单曲,也可以直接搜索歌手或歌曲名,下面还有一些热门搜索,可以直接播放…

BIO 探究二

接上文 BIO 初探究 文章目录 前言一、使用netty二、nio 客户端 与 bio 服务端,bio 服务端 与 nio 客户端总结# 未完待续 前言 提示:验证阻塞到底阻塞在什么地方 提示:以下是本篇文章正文内容,下面案例可供参考 一、使用netty 上…

Docker 部署 Redis Cluster 高性能高可用分片集群

文章目录 1、环境准备2、Cluster 集群讲解2.1、Cluster 介绍2.2、Cluster 和哨兵模式区别2.3、Cluster 如何分散存储数据 3、Cluster 搭建流程3.1、安装 Docker3.2、启动 Redis 容器3.3、创建 Cluster 集群 4、Cluster 集群测试4.1、读写操作4.2、故障转移 1、环境准备 准备6台…

Linux系统中qfile调用seek无法更新指定位置文件内容

一、问题描述 最近在移植qt程序到银河麒麟系统中,发现在Windows下调用seek接口更新二进制文件功能在麒麟系统中总是无法实现更新,调用的QFile接口也并未报错。 原代码实现方式如下: if (!m_writeFile->open(QIODevice::WriteOnly | QIODe…

GLM-4本地部署的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

必应bing国内广告怎样开户投放呢?

企业都在寻找高效、精准的营销渠道以扩大品牌影响力,提升市场占有率,作为全球第二大搜索引擎,微软旗下的必应Bing凭借其卓越的搜索技术和庞大的用户基础,成为了众多企业拓展市场的首选广告平台。在中国,必应Bing广告以…

为什么3D渲染有的模型是黑的?---模大狮模型网

在3D建模和渲染的过程中,遇到模型渲染出来是黑色的情况并不罕见。这可能是由于多种原因导致的,包括但不限于材质设置问题、灯光配置不当、渲染设置错误等。 一、材质设置问题 材质丢失或错误:如果模型在导入或创建时材质没有正确加载或设置&…

AIGC实战!7个超热门的 Midjourney 关键词教程

一、剪纸风格 核心词: paper art(剪纸艺术) 关键技巧: 主体物:可以换成任意主角,Chinese illustration (中国风插画);艺术风格:paper art (剪纸…

Qt各发布版本介绍与选择

一.Qt各个主要版本介绍 1.Qt4 Qt4的第一个版本是Qt 4.0,发布于2005年6月1日。 Qt 4的最后一个版本是Qt 4.8.7,发布时间是2015年6月10日。 2.Qt5 (1)Qt5的第一个版本是Qt 5.0,发布于2012年12月19日。 (2&…

提高工作效率的神器有哪些?

在这个人工智能技术蓬勃发展的时代,很多AI工具极大地提升我们的工作效率,比如很多人在用的ChatGPT、Kimi,它们几乎无所不能,小编在日常工作也用它们,建议想抓住AI风口,或者是想用这些工具提升自己的朋友去学…

【云原生】Docker Compose 使用详解

目录 一、前言 二、Docker Compose 介绍 2.1 Docker Compose概述 2.2 Docker Compose特点 2.3 Docker Compose使用场景 三、Docker Compose 搭建 3.1 安装docker环境 3.2 Docker Compose安装方式一 3.2.1 下载最新版/如果不是最新可替换最新版本 3.2.2 设置权限 3.2.…

c++------类和对象(下)包含了this指针、构造函数、析构函数、拷贝构造等

文章目录 前言一、this指针1.1、this指针的引出1.2、 this指针的特性 二、类的默认的六个构造函数2.1、构造函数简述2.2构造函数 三、析构函数3.1、析构函数引出3.2、特点: 四、拷贝构造4.1、引入4.2、特征:4.3、默认拷贝构造函数 总结 前言 在本节中&a…

随身WiFi十大热门品牌优缺点分析!哪个品牌的随身wifi更值得买?随身wifi推荐测评!

格行随身wifi 【品牌特点】:服务好,性价比高,随身WiFi行业的“海底捞” 【优点】:专注物联网行业15年,产品和服务双驱动,综合实力和客户口碑领先 【缺点】:产品相对聚焦,产品类型…