Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
409436b3
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
409436b3
编写于
7月 28, 2023
作者:
O
openharmony_ci
提交者:
Gitee
7月 28, 2023
浏览文件
操作
浏览文件
下载
差异文件
!21500 问题修改
Merge pull request !21500 from LiAn/master
上级
27c4a938
44a25e86
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
60 addition
and
61 deletion
+60
-61
zh-cn/application-dev/quick-start/arkts-application-state-management-overview.md
...uick-start/arkts-application-state-management-overview.md
+1
-1
zh-cn/application-dev/quick-start/arkts-localstorage.md
zh-cn/application-dev/quick-start/arkts-localstorage.md
+3
-3
zh-cn/application-dev/quick-start/arkts-style.md
zh-cn/application-dev/quick-start/arkts-style.md
+6
-6
zh-cn/application-dev/quick-start/arkts-watch.md
zh-cn/application-dev/quick-start/arkts-watch.md
+46
-47
zh-cn/application-dev/ui/arkts-layout-development-create-grid.md
...pplication-dev/ui/arkts-layout-development-create-grid.md
+1
-1
zh-cn/application-dev/ui/arkts-layout-development-media-query.md
...pplication-dev/ui/arkts-layout-development-media-query.md
+2
-2
zh-cn/application-dev/ui/arkts-layout-development-stack-layout.md
...plication-dev/ui/arkts-layout-development-stack-layout.md
+1
-1
未找到文件。
zh-cn/application-dev/quick-start/arkts-application-state-management-overview.md
浏览文件 @
409436b3
...
...
@@ -4,7 +4,7 @@
上一个章节中介绍的装饰器仅能在页面内,即一个组件树上共享状态变量。如果开发者要实现应用级的,或者多个页面的状态数据共享,就需要用到应用级别的状态管理的概念。ArkTS根据不同特性,提供了多种应用状态管理的能力:
-
[
LocalStorage
](
arkts-localstorage.md
)
:页面级UI状态存储,通常用于
[
UIAbility
](
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev
/reference/apis/js-apis-app-ability-uiAbility.md
)
内、页面间的状态共享。
-
[
LocalStorage
](
arkts-localstorage.md
)
:页面级UI状态存储,通常用于
[
UIAbility
](
..
/reference/apis/js-apis-app-ability-uiAbility.md
)
内、页面间的状态共享。
-
[
AppStorage
](
arkts-appstorage.md
)
:特殊的单例LocalStorage对象,由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储;
...
...
zh-cn/application-dev/quick-start/arkts-localstorage.md
浏览文件 @
409436b3
# LocalStorage:页面级UI状态存储
LocalStorage是页面级的UI状态存储,通过
\@
Entry装饰器接
受
的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility内,页面间共享状态。
LocalStorage是页面级的UI状态存储,通过
\@
Entry装饰器接
收
的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility内,页面间共享状态。
本文仅介绍LocalStorage使用场景和相关的装饰器:
\@
LocalStorageProp和
\@
LocalStorageLink。
...
...
@@ -28,7 +28,7 @@ LocalStorage是ArkTS为构建页面级别状态变量提供存储的内存内“
LocalStorage根据与
\@
Component装饰的组件的同步类型不同,提供了两个装饰器:
-
[
@LocalStorageProp
](
#localstorageprop
)
:
\@
LocalStorageProp装饰的变量和与LocalStorage中给定属性建立单
行
同步关系。
-
[
@LocalStorageProp
](
#localstorageprop
)
:
\@
LocalStorageProp装饰的变量和与LocalStorage中给定属性建立单
向
同步关系。
-
[
@LocalStorageLink
](
#localstoragelink
)
:
\@
LocalStorageLink装饰的变量和在
\@
Component中创建与LocalStorage中给定属性建立双向同步关系。
...
...
@@ -379,7 +379,7 @@ Child自定义组件中的变化:
### 将LocalStorage实例从UIAbility共享到一个或多个视图
上面的实例中,LocalStorage的实例仅仅在一个
\@
Entry装饰的组件和其所属的子组件(一个页面)中共享,如果希望其在多个视图中共享,可以在所属UIAbility中创建LocalStorage实例,并调用windowStage.
[
loadContent
](
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev
/reference/apis/js-apis-window.md#loadcontent9
)
。
上面的实例中,LocalStorage的实例仅仅在一个
\@
Entry装饰的组件和其所属的子组件(一个页面)中共享,如果希望其在多个视图中共享,可以在所属UIAbility中创建LocalStorage实例,并调用windowStage.
[
loadContent
](
..
/reference/apis/js-apis-window.md#loadcontent9
)
。
```
ts
...
...
zh-cn/application-dev/quick-start/arkts-style.md
浏览文件 @
409436b3
...
...
@@ -45,12 +45,12 @@
```
ts
@
Component
struct
FancyUse
{
@
State
heightV
la
ue
:
number
=
100
@
State
heightV
al
ue
:
number
=
100
@
Styles
fancy
()
{
.
height
(
this
.
heightV
la
ue
)
.
height
(
this
.
heightV
al
ue
)
.
backgroundColor
(
Color
.
Yellow
)
.
onClick
(()
=>
{
this
.
heightV
la
ue
=
200
this
.
heightV
al
ue
=
200
})
}
}
...
...
@@ -77,14 +77,14 @@
@
Entry
@
Component
struct
FancyUse
{
@
State
heightV
la
ue
:
number
=
100
@
State
heightV
al
ue
:
number
=
100
// 定义在组件内的@Styles封装的样式
@
Styles
fancy
()
{
.
width
(
200
)
.
height
(
this
.
heightV
la
ue
)
.
height
(
this
.
heightV
al
ue
)
.
backgroundColor
(
Color
.
Yellow
)
.
onClick
(()
=>
{
this
.
heightV
la
ue
=
200
this
.
heightV
al
ue
=
200
})
}
...
...
zh-cn/application-dev/quick-start/arkts-watch.md
浏览文件 @
409436b3
...
...
@@ -52,6 +52,51 @@
## 使用场景
### \@Watch和自定义组件更新
以下示例展示组件更新和
\@
Watch的处理步骤。count在CountModifier中由
\@
State装饰,在TotalView中由
\@
Prop装饰。
```
ts
@
Component
struct
TotalView
{
@
Prop
@
Watch
(
'
onCountUpdated
'
)
count
:
number
;
@
State
total
:
number
=
0
;
// @Watch cb
onCountUpdated
(
propName
:
string
):
void
{
this
.
total
+=
this
.
count
;
}
build
()
{
Text
(
`Total:
${
this
.
total
}
`
)
}
}
@
Entry
@
Component
struct
CountModifier
{
@
State
count
:
number
=
0
;
build
()
{
Column
()
{
Button
(
'
add to basket
'
)
.
onClick
(()
=>
{
this
.
count
++
})
TotalView
({
count
:
this
.
count
})
}
}
}
```
处理步骤:
1.
CountModifier自定义组件的Button.onClick点击事件自增count。
2.
由于
\@
State count变量更改,子组件TotalView中的
\@
Prop被更新,其
\@
Watch('onCountUpdated')方法被调用,更新了子组件TotalView 中的total变量。
3.
子组件TotalView中的Text重新渲染。
### \@Watch与\@Link组合使用
...
...
@@ -124,52 +169,6 @@ struct BasketModifier {
2.
\@
Link装饰的BasketViewer shopBasket值发生变化;
3.
状态管理框架调用
\@
Watch函数BasketViewer onBasketUpdated 更新BaketViewer TotalPurchase的值;
3.
状态管理框架调用
\@
Watch函数BasketViewer onBasketUpdated 更新Ba
s
ketViewer TotalPurchase的值;
4.
\@
Link shopBasket的改变,新增了数组项,ForEach组件会执行item Builder,渲染构建新的Item项;
\@
State totalPurchase改变,对应的Text组件也重新渲染;重新渲染是异步发生的。
### \@Watch和自定义组件更新
以下示例展示组件更新和
\@
Watch的处理步骤。count在CountModifier中由
\@
State装饰,在TotalView中由
\@
Prop装饰。
```
ts
@
Component
struct
TotalView
{
@
Prop
@
Watch
(
'
onCountUpdated
'
)
count
:
number
;
@
State
total
:
number
=
0
;
// @Watch cb
onCountUpdated
(
propName
:
string
):
void
{
this
.
total
+=
this
.
count
;
}
build
()
{
Text
(
`Total:
${
this
.
total
}
`
)
}
}
@
Entry
@
Component
struct
CountModifier
{
@
State
count
:
number
=
0
;
build
()
{
Column
()
{
Button
(
'
add to basket
'
)
.
onClick
(()
=>
{
this
.
count
++
})
TotalView
({
count
:
this
.
count
})
}
}
}
```
处理步骤:
1.
CountModifier自定义组件的Button.onClick点击事件自增count。
2.
由于
\@
State count变量更改,子组件TotalView中的
\@
Prop被更新,其
\@
Watch('onCountUpdated')方法被调用,更新了子组件TotalView 中的total变量。
3.
子组件TotalView中的Text重新渲染。
zh-cn/application-dev/ui/arkts-layout-development-create-grid.md
浏览文件 @
409436b3
...
...
@@ -269,7 +269,7 @@ struct Shopping {
![
zh-cn_image_0000001562940549
](
figures/zh-cn_image_0000001562940549.gif
)
Grid组件初始化时,可以绑定一个
[
Scroller
](
https://docs.openharmony.cn/pages/v3.2Beta/zh-cn/application-dev/reference/arkui-ts/ts-container-scroll.md/#scroller
)
对象,用于进行滚动控制,例如通过Scroller对象的
[
scrollPage
](
https://docs.openharmony.cn/pages/v3.2Beta/zh-cn/application-dev/reference/arkui-ts/ts-container-scroll.md/
#scrollpage
)
方法进行翻页。
Grid组件初始化时,可以绑定一个
[
Scroller
](
../reference/arkui-ts/ts-container-scroll.md#scroller
)
对象,用于进行滚动控制,例如通过Scroller对象的
[
scrollPage
](
../reference/arkui-ts/ts-container-scroll.md
#scrollpage
)
方法进行翻页。
```
ts
...
...
zh-cn/application-dev/ui/arkts-layout-development-media-query.md
浏览文件 @
409436b3
...
...
@@ -3,7 +3,7 @@
## 概述
[
媒体查询
](
https://docs.openharmony.cn/pages/v3.2Beta/zh-cn/application-dev/reference/apis/js-apis-mediaquery.md/
)
作为响应式设计的核心,在移动设备上应用十分广泛。媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。媒体查询常用于下面两种场景:
[
媒体查询
](
../reference/apis/js-apis-mediaquery.md
)
作为响应式设计的核心,在移动设备上应用十分广泛。媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。媒体查询常用于下面两种场景:
1.
针对设备和应用的属性信息(比如显示区域、深浅色、分辨率),设计出相匹配的布局。
...
...
@@ -260,4 +260,4 @@ struct MediaQueryExample {
基于媒体查询,可参考以下实例:
[
媒体查询
](
https://gitee.com/openharmony/applications_app_samples/tree/master/code/UI/ArkTsComponentC
l
ollection/MediaQuery
)
:使用媒体查询,完成在不同设备上显示不同的界面效果。
[
媒体查询
](
https://gitee.com/openharmony/applications_app_samples/tree/master/code/UI/ArkTsComponentCollection/MediaQuery
)
:使用媒体查询,完成在不同设备上显示不同的界面效果。
zh-cn/application-dev/ui/arkts-layout-development-stack-layout.md
浏览文件 @
409436b3
...
...
@@ -3,7 +3,7 @@
## 概述
层叠布局(StackLayout)用于在屏幕上预留一块区域来显示组件中的元素,提供元素可以重叠的布局。层叠布局通过
[
Stack
](
https://docs.openharmony.cn/pages/v3.2Beta/zh-cn/application-dev/reference/arkui-ts/ts-container-stack.md/
)
容器组件实现位置的固定定位与层叠,容器中的子元素(子组件)依次入栈,后一个子元素覆盖前一个子元素,子元素可以叠加,也可以设置位置。
层叠布局(StackLayout)用于在屏幕上预留一块区域来显示组件中的元素,提供元素可以重叠的布局。层叠布局通过
[
Stack
](
../reference/arkui-ts/ts-container-stack.md
)
容器组件实现位置的固定定位与层叠,容器中的子元素(子组件)依次入栈,后一个子元素覆盖前一个子元素,子元素可以叠加,也可以设置位置。
层叠布局具有较强的页面层叠、位置定位能力,其使用场景有广告、卡片层叠效果等。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录