版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用级变量的状态管理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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 4315.2-2026光学传递函数第2部分:测量导则
- 高中英语教资面试试讲题库含答案
- 初中数学教资面试结构化经典例题试卷含答案
- 2026高中英语教资面试试讲易错题试卷含解析
- 计算机零部件装配调试员标准化水平考核试卷含答案
- 反应香精配制工创新思维能力考核试卷含答案
- 重金属回转窑焙烧工操作评优考核试卷含答案
- 酵母营养盐工岗前能力评估考核试卷含答案
- 超硬磨料制造工安全演练测试考核试卷含答案
- DB61T 5166-2026 房屋市政工程施工安全风险评价与管控规程
- 幼儿园安全家委会
- 【MOOC答案】《中国文化传承与科技创新》(北京邮电大学)中国慕课章节作业网课答案
- 2022浪潮英政服务器CS5260H2用户手册
- 【MOOC】电机与拖动-浙江大学 中国大学慕课MOOC答案
- 农村土地使用权转让协议书
- 北京市第四十三中学2024-2025学年高一数学上学期期中试题
- 《思政课程群》4坚持全面深化改革总目标
- 麦当劳公司的控制系统
- 《大学生安全教育》课件-第八课 社会实践安全
- 赣州市中小学教学常规
- 中医医疗技术相关性感染预防与控制课件PPT幻灯片
评论
0/150
提交评论