Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
88ff9fbd
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
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看板
提交
88ff9fbd
编写于
12月 30, 2022
作者:
zyjhandsome
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
《UIAbility组件与UI的数据同步》章节补充一种ArkTS中的同步方式。
Signed-off-by:
zyjhandsome
<
zyjhandsome@126.com
>
上级
96a8a7c4
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
7 deletion
+7
-7
zh-cn/application-dev/application-models/uiability-data-sync-with-ui.md
...ion-dev/application-models/uiability-data-sync-with-ui.md
+7
-7
未找到文件。
zh-cn/application-dev/application-models/uiability-data-sync-with-ui.md
浏览文件 @
88ff9fbd
...
...
@@ -3,19 +3,19 @@
基于OpenHarmony的应用模型,可以通过以下三种方式来实现UIAbility组件与UI之间的数据同步。
-
EventHub:
[
基类Context
](
application-context-stage.md
)
提供了EventHub的能力,
使用发布订阅模
式来实现。事件需要先订阅后发布,订阅者收到消息后进行处理。
-
EventHub:
[
基类Context
](
application-context-stage.md
)
提供了EventHub的能力,
通过发布订阅方
式来实现。事件需要先订阅后发布,订阅者收到消息后进行处理。
-
globalThis:ArkTS引擎实例内部的一个全局对象,在ArkTS引擎实例内部都能访问。
-
[
页面级变量的状态管理
](
../quick-start/arkts-state-mgmt-application-level.md
)
。
-
LocalStorage/AppStorage:参见
[
页面级变量的状态管理
](
../quick-start/arkts-state-mgmt-application-level.md
)
。
## 使用EventHub进行数据通信
EventHub提供了UIAbility组件/ExtensionAbility组件级别的事件机制,以UIAbility组件/ExtensionAbility组件为中心提供了订阅、取消订阅和触发事件的数据通信能力。接口说明请参见
[
EventHub
](
../reference/apis/js-apis-inner-application-eventHub.md
)
。
[
EventHub
](
../reference/apis/js-apis-inner-application-eventHub.md
)
提供了UIAbility组件/ExtensionAbility组件级别的事件机制,以UIAbility组件/ExtensionAbility组件为中心提供了订阅、取消订阅和触发事件的数据通信能力
。
在使用EventHub之前,首先需要获取EventHub对象。
[
基类Context
](
application-context-stage.md
)
提供了EventHub对象,
本章节以使用EventHub实现UIAbility与UI之间的数据通信为例进行说明。
[
基类Context
](
application-context-stage.md
)
提供了EventHub对象,在使用EventHub之前,首先需要获取EventHub对象。
本章节以使用EventHub实现UIAbility与UI之间的数据通信为例进行说明。
1.
在UIAbility中调用
eventHub.on()方法注册一个自定义事件“event1”,eventHub.on(
)有如下两种调用方式,使用其中一种即可。
1.
在UIAbility中调用
[
eventHub.on()
](
../reference/apis/js-apis-inner-application-eventHub.md#eventhubon
)
方法注册一个自定义事件“event1”,
[
eventHub.on()
](
../reference/apis/js-apis-inner-application-eventHub.md#eventhubon
)
有如下两种调用方式,使用其中一种即可。
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
...
...
@@ -41,7 +41,7 @@ EventHub提供了UIAbility组件/ExtensionAbility组件级别的事件机制,
}
```
2.
在UI界面中通过
eventHub.emit(
)方法触发该事件,在触发事件的同时,根据需要传入参数信息。
2.
在UI界面中通过
[
eventHub.emit()
](
../reference/apis/js-apis-inner-application-eventHub.md#eventhubemit
)
方法触发该事件,在触发事件的同时,根据需要传入参数信息。
```
ts
import
common
from
'
@ohos.app.ability.common
'
;
...
...
@@ -78,7 +78,7 @@ EventHub提供了UIAbility组件/ExtensionAbility组件级别的事件机制,
[
2
,
'
test
'
]
```
4.
在自定义事件“event1”使用完成后,可以根据需要调用
eventHub.off(
)方法取消该事件的订阅。
4.
在自定义事件“event1”使用完成后,可以根据需要调用
[
eventHub.off()
](
../reference/apis/js-apis-inner-application-eventHub.md#eventhuboff
)
方法取消该事件的订阅。
```
ts
// context为UIAbility实例的AbilityContext
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录