Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
747c3f9c
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
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看板
未验证
提交
747c3f9c
编写于
8月 11, 2023
作者:
O
openharmony_ci
提交者:
Gitee
8月 11, 2023
浏览文件
操作
浏览文件
下载
差异文件
!21985 优化AppStorage文档描述
Merge pull request !21985 from seaside/fix_appstorage
上级
befb42d9
86c2f486
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
3 addition
and
4 deletion
+3
-4
zh-cn/application-dev/quick-start/arkts-appstorage.md
zh-cn/application-dev/quick-start/arkts-appstorage.md
+3
-4
未找到文件。
zh-cn/application-dev/quick-start/arkts-appstorage.md
浏览文件 @
747c3f9c
...
...
@@ -4,7 +4,7 @@
AppStorage是应用全局的UI状态存储,是和应用的进程绑定的,由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储。
和LocalStorage不同的是,LocalStorage是页面级的,通常应用于页面内的数据共享。而对于AppStorage,是应用级的全局状态共享。AppStorage还相当于整个应用的“中枢”,
[
持久化数据PersistentStorage
](
arkts-persiststorage.md
)
和
[
环境变量Environment
](
arkts-environment.md
)
都是通过
和AppStorage中转,才可以和UI回
交互。
和LocalStorage不同的是,LocalStorage是页面级的,通常应用于页面内的数据共享。而对于AppStorage,是应用级的全局状态共享。AppStorage还相当于整个应用的“中枢”,
[
持久化数据PersistentStorage
](
arkts-persiststorage.md
)
和
[
环境变量Environment
](
arkts-environment.md
)
都是通过
AppStorage中转,才可以和UI
交互。
本文仅介绍AppStorage使用场景和相关的装饰器:
\@
StorageProp和
\@
StorageLink。
...
...
@@ -23,10 +23,9 @@ AppStorage中的属性可以被双向同步,数据可以是存在于本地或
在上文中已经提到,如果要建立AppStorage和自定义组件的联系,需要使用
\@
StorageProp和
\@
StorageLink装饰器。使用
\@
StorageProp(key)/
\@
StorageLink(key)装饰组件内的变量,key标识了AppStorage的属性。
当自定义组件初始化的时候,
\@
StorageProp(key)/
\@
StorageLink(key)装饰的变量会通过给定的key,绑定在AppStorage对应是属性,完成初始化。本地初始化是必要的,因为无法保证AppStorage一定存在给定的key,这取决于应用逻辑,是否在组件初始化之前在AppStorage实例中存入对应的属性
。
当自定义组件初始化的时候,
会使用AppStorage中对应key的属性值将
\@
StorageProp(key)/
\@
StorageLink(key)装饰的变量初始化。由于应用逻辑的差异,无法确认是否在组件初始化之前向AppStorage实例中存入了对应的属性,所以AppStorage不一定存在key对应的属性,因此
\@
StorageProp(key)/
\@
StorageLink(key)装饰的变量进行本地初始化是必要的
。
\@
StorageProp(key)是和AppStorage中key对应的属性建立单向数据同步,我们允许本地改变的发生,但是对于
\@
StorageProp,本地的修改永远不会同步回AppStorage中,相反,如果AppStorage给定key的属性发生改变,改变会被同步给
\@
StorageProp,并覆盖掉本地的修改。
\@
StorageProp(key)是和AppStorage中key对应的属性建立单向数据同步,允许本地改变,但是对于
\@
StorageProp,本地的修改永远不会同步回AppStorage中,相反,如果AppStorage给定key的属性发生改变,改变会被同步给
\@
StorageProp,并覆盖掉本地的修改。
### 装饰器使用规则说明
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录