Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
(_灬幸福相伴
Docs
提交
34daf483
D
Docs
项目概览
(_灬幸福相伴
/
Docs
与 Fork 源项目一致
Fork自
OpenHarmony / Docs
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
34daf483
编写于
3月 26, 2022
作者:
L
LiAn
提交者:
Gitee
3月 26, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/application-dev/ui/ts-application-states-appstorage.md.
Signed-off-by:
N
LiAn
<
lian15@huawei.com
>
上级
5afeb701
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
10 deletion
+10
-10
zh-cn/application-dev/ui/ts-application-states-appstorage.md
zh-cn/application-dev/ui/ts-application-states-appstorage.md
+10
-10
未找到文件。
zh-cn/application-dev/ui/ts-application-states-appstorage.md
浏览文件 @
34daf483
# 应用程序的数据存储
**AppStorage**
是应用程序中的单例对象,由UI框架在应用程序启动时创建,在应用程序退出时销毁,为应用程序范围内的可变状态属性提供中央存储。
**AppStorage**
包含整个应用程序中需要访问的所有状态属性,只要应用程序保持运行,
**AppStorage**
就会保存所有属性及属性值,属性值可以通过唯一的键值进行访问。
AppStorage是应用程序中的单例对象,由UI框架在应用程序启动时创建,在应用程序退出时销毁,为应用程序范围内的可变状态属性提供中央存储。AppStorage包含整个应用程序中需要访问的所有状态属性,只要应用程序保持运行,AppStorage
就会保存所有属性及属性值,属性值可以通过唯一的键值进行访问。
UI组件可以通过装饰器将应用程序状态数据与
**AppStorage**
进行同步,应用业务逻辑的实现也可以通过接口访问
**AppStorage**
。
UI组件可以通过装饰器将应用程序状态数据与
AppStorage进行同步,应用业务逻辑的实现也可以通过接口访问AppStorage
。
**AppStorage**
的选择状态属性可以与不同的数据源或数据接收器同步,这些数据源和接收器可以是设备上的本地或远程,并具有不同的功能,如数据持久性。这样的数据源和接收器可以独立于UI在业务逻辑中实现。
AppStorage
的选择状态属性可以与不同的数据源或数据接收器同步,这些数据源和接收器可以是设备上的本地或远程,并具有不同的功能,如数据持久性。这样的数据源和接收器可以独立于UI在业务逻辑中实现。
默认情况下,
**AppStorage**
中的属性是可变的,
**AppStorage**
还可使用不可变(只读)属性。
默认情况下,
AppStorage中的属性是可变的,AppStorage
还可使用不可变(只读)属性。
## AppStorage接口
...
...
@@ -18,9 +18,9 @@ UI组件可以通过装饰器将应用程序状态数据与**AppStorage**进行
| -------- | -------- | -------- | -------- |
| SetAndLink | key:
string,
<br/>
defaultValue:
T | @Link | 与Link接口类似,如果当前的key保存于AppStorage,则返回该key对应的value。如果该key未被创建,则创建一个对应default值的Link返回。 |
| Set | key:
string,
<br/>
newValue:
T | void | 对已保存的key值,替换其value值。 |
| Link | key:
string | @Link | 如果存在具有给定键的数据,则返回到此属性的双向数据绑定,该双向绑定意味着变量或者组件对数据的更改将同步到
**AppStorage**
,通过
**AppStorage**
对数据的修改将同步到变量或者组件。如果具有此键的属性不存在或属性为只读,则返回
**undefined**
。 |
| Link | key:
string | @Link | 如果存在具有给定键的数据,则返回到此属性的双向数据绑定,该双向绑定意味着变量或者组件对数据的更改将同步到
AppStorage,通过AppStorage对数据的修改将同步到变量或者组件。如果具有此键的属性不存在或属性为只读,则返回undefined
。 |
| SetAndProp | propName:
string,
<br/>
defaultValue:
S | @Prop | 与Prop接口类似,如果当前的key保存于AppStorage,则返回该key对应的value。如果该key未被创建,则创建一个对应default值的Prop返回。 |
| Prop | key:
string | @Prop | 如果存在具有给定键的属性,则返回此属性的单向数据绑定。该单向绑定意味着只能通过
**AppStorage**
将属性的更改同步到变量或者组件。该方法返回的变量为不可变变量,适用于可变和不可变的状态属性,如果具有此键的属性不存在则返回
**undefined**
。
<br/>
>
![icon-note.gif](public_sys-resources/icon-note.gif)
**说明:**
<br/>
>
prop方法对应的属性值类型为简单类型。 |
| Prop | key:
string | @Prop | 如果存在具有给定键的属性,则返回此属性的单向数据绑定。该单向绑定意味着只能通过
AppStorage将属性的更改同步到变量或者组件。该方法返回的变量为不可变变量,适用于可变和不可变的状态属性,如果具有此键的属性不存在则返回undefined
。
<br/>
>
![icon-note.gif](public_sys-resources/icon-note.gif)
**说明:**
<br/>
>
prop方法对应的属性值类型为简单类型。 |
| SetOrCreate | key:
string,
<br/>
newValue:
T | boolean | 如果已存在与给定键名字相同的属性,如果此属性可以被更改则替换其value值且返回true,否则不替换且返回false。
<br/>
如果不存在存在与给定键名字相同的属性,
则创建一个键为key,
值为newValue的属性,属性值不支持null和undefined。 |
| Get | key:
string | T或undefined | 通过此接口获取对应key值的value。 |
| Has | propName:
string | boolean | 判断对应键值的属性是否存在。 |
...
...
@@ -35,19 +35,19 @@ UI组件可以通过装饰器将应用程序状态数据与**AppStorage**进行
## AppStorage与组件同步
在
[
管理组件拥有的状态
](
ts-component-states-state.md
)
中,已经定义了如何将组件的状态变量与父组件或祖先组件中的
**@State**
装饰的状态变量同步,主要包括
**@Prop**
、
**@Link**
、
**@Consume**
。
在
[
管理组件拥有的状态
](
ts-component-states-state.md
)
中,已经定义了如何将组件的状态变量与父组件或祖先组件中的
@State装饰的状态变量同步,主要包括@Prop、@Link、@Consume
。
本章节定义如何将组件变量与
**AppStorage**
同步,主要提供
**@StorageLink**
和
**@StorageProp**
装饰器。
本章节定义如何将组件变量与
AppStorage同步,主要提供@StorageLink和@StorageProp
装饰器。
### @StorageLink装饰器
组件通过使用@StorageLink(key)装饰的状态变量,与
**AppStorage**
建立双向数据绑定,
**key**
为
**AppStorage**
中的属性键值。当创建包含@StorageLink的状态变量的组件时,该状态变量的值将使用
**AppStorage**
中的值进行初始化。在UI组件中对@StorageLink的状态变量所做的更改将同步到
**AppStorage**
,并从
**AppStorage**
同步到任何其他绑定实例中,如
**PersistentStorage**
或其他绑定的UI组件。
组件通过使用@StorageLink(key)装饰的状态变量,与
AppStorage建立双向数据绑定,key为AppStorage中的属性键值。当创建包含@StorageLink的状态变量的组件时,该状态变量的值将使用AppStorage中的值进行初始化。在UI组件中对@StorageLink的状态变量所做的更改将同步到AppStorage,并从AppStorage同步到任何其他绑定实例中,如PersistentStorage
或其他绑定的UI组件。
### @StorageProp装饰器
组件通过使用@StorageProp(key)装饰的状态变量,将与
**AppStorage**
建立单向数据绑定,
**key**
标识AppStorage中的属性键值。当创建包含@StoageProp的状态变量的组件时,该状态变量的值将使用
**AppStorage**
中的值进行初始化。
**AppStorage**
中的属性值的更改会导致绑定的UI组件进行状态更新。
组件通过使用@StorageProp(key)装饰的状态变量,将与
AppStorage建立单向数据绑定,key标识AppStorage中的属性键值。当创建包含@StoageProp的状态变量的组件时,该状态变量的值将使用AppStorage中的值进行初始化。AppStorage
中的属性值的更改会导致绑定的UI组件进行状态更新。
## 示例
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录