《HarmonyOS应用开发基础》 课件知识点2-8-3 应用级变量的状态管理_第1页
《HarmonyOS应用开发基础》 课件知识点2-8-3 应用级变量的状态管理_第2页
《HarmonyOS应用开发基础》 课件知识点2-8-3 应用级变量的状态管理_第3页
《HarmonyOS应用开发基础》 课件知识点2-8-3 应用级变量的状态管理_第4页
《HarmonyOS应用开发基础》 课件知识点2-8-3 应用级变量的状态管理_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

应用级变量的状态管理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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论