版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用级变量的状态管理AppStorageAppStorage是应用程序中的单例对象,由UI框架在应用程序启动时创建,在应用程序退出时销毁,为应用程序范围内的可变状态属性提供中央存储。AppStorageAppStorage包含整个应用程序中需要访问的所有状态属性,只要应用程序保持运行,AppStorage就会保存所有属性及属性值,属性值可以通过唯一的键值进行访问。staticSet<T>(propName:string,newValue:T):boolean;通过AppStorage.Set保存键值对(也就是属性名与属性值)staticGet<T>(propName:string):T|undefined;通过AppStorage.Get通过键获取值(也就是通过属性名获取属性值)@StorageLink与@StorageProp组件可以通过装饰器将应用程序状态数据与AppStorage进行同步。@StorageLink装饰器组件通过使用@StorageLink(key)装饰的状态变量,与AppStorage建立双向数据绑定,key为AppStorage中的属性键值。当创建包含@StorageLink的状态变量的组件时,该状态变量的值将使用AppStorage中的值进行初始化。在UI组件中对@StorageLink的状态变量所做的更改将同步到AppStorage,并从AppStorage同步到任何其他绑定实例中,如PersistentStorage或其他绑定的UI组件。@StorageProp装饰器组件通过使用@StorageProp(key)装饰的状态变量,与AppStorage建立单向数据绑定,key标识AppStorage中的属性键值。当创建包含@StorageProp的状态变量的组件时,该状态变量的值将使用AppStorage中的值进行初始化。AppStorage中属性值的更改会导致绑定该状态变量的UI组件进行状态更新。@StorageLink与@StorageProp示例:@StorageLink与AppStorage双向数据绑定@Entry@Componentstruct
ComponentA
{
@StorageLink('count')
count:
number
=
0
build()
{
Column({
space:
20
})
{
Text('@StorageLink
count='
+
this.count).fontSize(20)
Text('AppStorage.Get<number>("count")='
+
AppStorage.Get<number>("count")).fontSize(20)
Button('使用AppStorage.Set改变键count对应的值').onClick(()
=>
{
AppStorage.Set<number>('count',
AppStorage.Get<number>('count')
+
1)
})
Button('改变@StorageLink状态变量count的值').onClick(()
=>
{
this.count++
})
}
}}@StorageLink与@StorageProp示例:将上个示例中的@StorageLink改成@StorageProp,测试与AppStorage单向数据绑定@Entry@Componentstruct
ComponentA
{
@StorageProp('count')
count:
number
=
1
build()
{
Column({
space:
20
})
{
Text('@StorageProp
count='
+
this.count).fontSize(20)
Text('AppStorage.Get<number>("count")='
+
AppStorage.Get<number>("count")).fontSize(20)
Button('使用AppStorage.Set改变键count对应的值').onClick(()
=>
{
AppStorage.Set<number>('count',
AppStorage.Get<number>('count')
+
1)
})
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026文化强国建设面试题及答案
- 2026武陟幼儿园面试题及答案
- 2026消息技术面试题及答案
- 药店员工岗前培训试题(含答案)
- 钢管租赁合同(范本)
- 【教学设计】《习作:一本书》
- 2026年AI性格匹配的用户反馈分析模型
- 上半年的学校班主任工作总结
- 眼镜验光员中级考试试题及答案
- 2026年合成生物学构建合成生物学疫苗绿色包装技术平台
- 六年级阅读题打印20篇
- GB/T 15822.2-2024无损检测磁粉检测第2部分:检测介质
- 2024年军考英语真题历年军考真题系列
- 落地式盘扣脚手架专项施工方案
- 义务教育数学课程标准(2024年版)
- 2024高考作文10个主题预测+10篇满分范文
- 架线导地线各种弧垂的含义及计算方法(附计算表格)彻底弄懂弧垂
- 建立与维护客户关系
- 专利优先审查证明文件
- 行政职业能力测验类真题及答案
- 纽卡斯尔护理满意度量表(NSNS)
评论
0/150
提交评论