Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
56780304
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
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看板
提交
56780304
编写于
4月 19, 2023
作者:
zyjhandsome
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、UIAbility启动模式和页面路由中“标准实例模式”中文术语统一修改为“多实例模式”。
2、FA模型,standard、visible字段回退。 Signed-off-by:
zyjhandsome
<
zyjhandsome@126.com
>
上级
21aedc4b
变更
17
显示空白变更内容
内联
并排
Showing
17 changed file
with
61 addition
and
61 deletion
+61
-61
zh-cn/application-dev/ability-deprecated/fa-pageability.md
zh-cn/application-dev/ability-deprecated/fa-pageability.md
+2
-2
zh-cn/application-dev/ability-deprecated/fa-serviceability.md
...n/application-dev/ability-deprecated/fa-serviceability.md
+1
-1
zh-cn/application-dev/ability-deprecated/stage-ability.md
zh-cn/application-dev/ability-deprecated/stage-ability.md
+2
-2
zh-cn/application-dev/application-models/create-pageability.md
.../application-dev/application-models/create-pageability.md
+1
-1
zh-cn/application-dev/application-models/create-serviceability.md
...plication-dev/application-models/create-serviceability.md
+2
-2
zh-cn/application-dev/application-models/dataability-configuration.md
...ation-dev/application-models/dataability-configuration.md
+2
-2
zh-cn/application-dev/application-models/dataability-permission-control.md
...-dev/application-models/dataability-permission-control.md
+1
-1
zh-cn/application-dev/application-models/lifecycleapp-switch.md
...application-dev/application-models/lifecycleapp-switch.md
+3
-3
zh-cn/application-dev/application-models/pageability-launch-type.md
...ication-dev/application-models/pageability-launch-type.md
+5
-5
zh-cn/application-dev/application-models/start-page.md
zh-cn/application-dev/application-models/start-page.md
+1
-1
zh-cn/application-dev/application-models/uiability-launch-type.md
...plication-dev/application-models/uiability-launch-type.md
+3
-3
zh-cn/application-dev/quick-start/application-configuration-file-overview-fa.md
...quick-start/application-configuration-file-overview-fa.md
+2
-2
zh-cn/application-dev/quick-start/module-structure.md
zh-cn/application-dev/quick-start/module-structure.md
+10
-10
zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md
...erence/apis/js-apis-inner-application-uiAbilityContext.md
+7
-7
zh-cn/application-dev/reference/apis/js-apis-router.md
zh-cn/application-dev/reference/apis/js-apis-router.md
+2
-2
zh-cn/application-dev/ui/arkts-page-transition-animation.md
zh-cn/application-dev/ui/arkts-page-transition-animation.md
+2
-2
zh-cn/application-dev/ui/arkts-routing.md
zh-cn/application-dev/ui/arkts-routing.md
+15
-15
未找到文件。
zh-cn/application-dev/ability-deprecated/fa-pageability.md
浏览文件 @
56780304
...
@@ -47,8 +47,8 @@ ability支持单实例和多实例两种启动模式。
...
@@ -47,8 +47,8 @@ ability支持单实例和多实例两种启动模式。
| 启动模式 | 描述 |说明 |
| 启动模式 | 描述 |说明 |
| ----------- | ------- |---------------- |
| ----------- | ------- |---------------- |
|
multiton | 多实例
| 每次startAbility都会启动一个新的实例。 |
|
standard | 多实例模式
| 每次startAbility都会启动一个新的实例。 |
| singleton | 单实例
| 系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。 |
| singleton | 单实例
模式
| 系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。 |
缺省情况下是singleton模式。
缺省情况下是singleton模式。
...
...
zh-cn/application-dev/ability-deprecated/fa-serviceability.md
浏览文件 @
56780304
...
@@ -59,7 +59,7 @@ onCommand()与onConnect()的区别在于:
...
@@ -59,7 +59,7 @@ onCommand()与onConnect()的区别在于:
{
{
"name"
:
".ServiceAbility"
,
"name"
:
".ServiceAbility"
,
"type"
:
"service"
,
"type"
:
"service"
,
"
exported
"
:
true
"
visible
"
:
true
...
...
}
}
]
]
...
...
zh-cn/application-dev/ability-deprecated/stage-ability.md
浏览文件 @
56780304
...
@@ -12,9 +12,9 @@ Ability支持单实例、多实例和指定实例3种启动模式,在module.js
...
@@ -12,9 +12,9 @@ Ability支持单实例、多实例和指定实例3种启动模式,在module.js
| 启动模式 | 描述 |说明 |
| 启动模式 | 描述 |说明 |
| ----------- | ------- |---------------- |
| ----------- | ------- |---------------- |
| multiton |
标准模式
| 每次startAbility都会启动一个新的实例。 |
| multiton |
多实例模式
| 每次startAbility都会启动一个新的实例。 |
| singleton | 单实例模式 | 系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。 |
| singleton | 单实例模式 | 系统中只存在唯一一个实例,startAbility时,如果已存在,则复用系统中的唯一一个实例。 |
| specified | 指定实例 | 运行时由Ability内部业务决定是否创建多实例。 |
| specified | 指定实例
模式
| 运行时由Ability内部业务决定是否创建多实例。 |
缺省情况下是singleton模式,module.json5示例如下:
缺省情况下是singleton模式,module.json5示例如下:
```
json
```
json
...
...
zh-cn/application-dev/application-models/create-pageability.md
浏览文件 @
56780304
...
@@ -47,7 +47,7 @@ PageAbility创建成功后,其abilities相关的配置项在config.json中体
...
@@ -47,7 +47,7 @@ PageAbility创建成功后,其abilities相关的配置项在config.json中体
}
}
],
],
"orientation"
:
"unspecified"
,
"orientation"
:
"unspecified"
,
"
exported
"
:
true
,
"
visible
"
:
true
,
"srcPath"
:
"MainAbility"
,
"srcPath"
:
"MainAbility"
,
"name"
:
".MainAbility"
,
"name"
:
".MainAbility"
,
"srcLanguage"
:
"ets"
,
"srcLanguage"
:
"ets"
,
...
...
zh-cn/application-dev/application-models/create-serviceability.md
浏览文件 @
56780304
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
2.
注册ServiceAbility。
2.
注册ServiceAbility。
ServiceAbility需要在应用配置文件config.json中进行注册,注册类型type需要设置为service。"
exported"属性表示ServiceAbility是否可以被其他应用调用,true表示可以被其他应用调用,false表示不能被其他应用调用(仅应用内可以调用)。若ServiceAbility需要被其他应用调用,注册ServiceAbility时需要设置"exported
"为true,同时需要设置支持关联启动。ServiceAbility的启动规则详见
[
组件启动规则
](
component-startup-rules.md
)
章节。
ServiceAbility需要在应用配置文件config.json中进行注册,注册类型type需要设置为service。"
visible"属性表示ServiceAbility是否可以被其他应用调用,true表示可以被其他应用调用,false表示不能被其他应用调用(仅应用内可以调用)。若ServiceAbility需要被其他应用调用,注册ServiceAbility时需要设置"visible
"为true,同时需要设置支持关联启动。ServiceAbility的启动规则详见
[
组件启动规则
](
component-startup-rules.md
)
章节。
```
json
```
json
{
{
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
"icon"
:
"$media:icon"
,
"icon"
:
"$media:icon"
,
"description"
:
"hap sample empty service"
,
"description"
:
"hap sample empty service"
,
"type"
:
"service"
,
"type"
:
"service"
,
"
exported
"
:
true
"
visible
"
:
true
}
}
]
]
}
}
...
...
zh-cn/application-dev/application-models/dataability-configuration.md
浏览文件 @
56780304
...
@@ -38,7 +38,7 @@ URI示例:
...
@@ -38,7 +38,7 @@ URI示例:
| "name" | Ability名称。 |
| "name" | Ability名称。 |
| "type" | UIAbility类型,DataAbility的类型为"data"。 |
| "type" | UIAbility类型,DataAbility的类型为"data"。 |
| "uri" | 通信使用的URI。 |
| "uri" | 通信使用的URI。 |
| "
exported
" | 对其他应用是否可见,设置为true时,DataAbility才能与其他应用进行通信传输数据。 |
| "
visible
" | 对其他应用是否可见,设置为true时,DataAbility才能与其他应用进行通信传输数据。 |
config.json配置样例
config.json配置样例
...
@@ -51,7 +51,7 @@ config.json配置样例
...
@@ -51,7 +51,7 @@ config.json配置样例
"srcLanguage"
:
"ets"
,
"srcLanguage"
:
"ets"
,
"description"
:
"$string:description_dataability"
,
"description"
:
"$string:description_dataability"
,
"type"
:
"data"
,
"type"
:
"data"
,
"
exported
"
:
true
,
"
visible
"
:
true
,
"uri"
:
"dataability://ohos.samples.etsdataability.DataAbility"
"uri"
:
"dataability://ohos.samples.etsdataability.DataAbility"
}]
}]
```
```
...
...
zh-cn/application-dev/application-models/dataability-permission-control.md
浏览文件 @
56780304
...
@@ -17,7 +17,7 @@ DataAbility作为服务端,在被拉起的时候,会根据config.json里面
...
@@ -17,7 +17,7 @@ DataAbility作为服务端,在被拉起的时候,会根据config.json里面
"srcLanguage"
:
"ets"
,
"srcLanguage"
:
"ets"
,
"description"
:
"$string:description_dataability"
,
"description"
:
"$string:description_dataability"
,
"type"
:
"data"
,
"type"
:
"data"
,
"
exported
"
:
true
,
"
visible
"
:
true
,
"uri"
:
"dataability://ohos.samples.etsdataability.DataAbility"
,
"uri"
:
"dataability://ohos.samples.etsdataability.DataAbility"
,
"readPermission"
:
"ohos.permission.READ_CONTACTS"
,
"readPermission"
:
"ohos.permission.READ_CONTACTS"
,
"writePermission"
:
"ohos.permission.WRITE_CONTACTS"
"writePermission"
:
"ohos.permission.WRITE_CONTACTS"
...
...
zh-cn/application-dev/application-models/lifecycleapp-switch.md
浏览文件 @
56780304
# LifecycleApp接口切换
# LifecycleApp接口切换
| FA模型接口 | Stage模型接口对应d.ts文件 | Stage模型对应接口 |
| FA模型接口 | Stage模型接口对应d.ts文件 | Stage模型对应接口 |
| -------- | -------- | -------- |
| -------- | -------- | -------- |
| onShow?():
void; |
\@
ohos.window.d.ts |
[
on(eventType: 'windowStageEvent', callback: Callback<WindowStageEventType>): void;
](
../reference/apis/js-apis-window.md#onwindowstageevent9
)
<br/>
监听
[
FOREGROUND
](
../reference/apis/js-apis-window.md#windowstageeventtype9
)
切到前台状态 |
| onShow?():
void; |
\@
ohos.window.d.ts |
[
on(eventType: 'windowStageEvent', callback: Callback<WindowStageEventType>): void;
](
../reference/apis/js-apis-window.md#onwindowstageevent9
)
<br/>
监听
[
FOREGROUND
](
../reference/apis/js-apis-window.md#windowstageeventtype9
)
切到前台状态 |
| onHide?():
void; |
\@
ohos.window.d.ts |
[
on(eventType: 'windowStageEvent', callback: Callback<WindowStageEventType>): void;
](
../reference/apis/js-apis-window.md#onwindowstageevent9
)
<br/>
监听
[
BACKGROUND
](
../reference/apis/js-apis-window.md#windowstageeventtype9
)
切到后台状态 |
| onHide?():
void; |
\@
ohos.window.d.ts |
[
on(eventType: 'windowStageEvent', callback: Callback<WindowStageEventType>): void;
](
../reference/apis/js-apis-window.md#onwindowstageevent9
)
<br/>
监听
[
BACKGROUND
](
../reference/apis/js-apis-window.md#windowstageeventtype9
)
切到后台状态 |
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
| onStartContinuation?():
boolean; | Stage模型无对应接口 | Stage模型上,应用无需感知迁移是否成功(由应用发起迁移请求时感知),onStartContinuation废弃 |
| onStartContinuation?():
boolean; | Stage模型无对应接口 | Stage模型上,应用无需感知迁移是否成功(由应用发起迁移请求时感知),onStartContinuation废弃 |
| onSaveData?(data:
Object):
boolean; |
\@
ohos.app.ability.UIAbility.d.ts |
[
onContinue(wantParam : {[key: string]: any}): AbilityConstant.OnContinueResult;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncontinue
)
|
| onSaveData?(data:
Object):
boolean; |
\@
ohos.app.ability.UIAbility.d.ts |
[
onContinue(wantParam : {[key: string]: any}): AbilityConstant.OnContinueResult;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncontinue
)
|
| onCompleteContinuation?(result:
number):
void; | application
\C
ontinueCallback.d.ts |
[
onContinueDone(result: number): void;
](
../reference/apis/js-apis-distributedMissionManager.md#continuecallback
)
|
| onCompleteContinuation?(result:
number):
void; | application
\C
ontinueCallback.d.ts |
[
onContinueDone(result: number): void;
](
../reference/apis/js-apis-distributedMissionManager.md#continuecallback
)
|
| onRestoreData?(data:
Object):
void; |
\@
ohos.app.ability.UIAbility.d.ts |
[
onCreate(want: Want, param: AbilityConstant.LaunchParam): void;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncreate
)
<br/>
[
onNewWant(want: Want, launchParams: AbilityConstant.LaunchParam): void;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityonnewwant
)
<br/>
标准
实例模式Ability迁移目标端在onCreate回调中完成数据恢复,单实例应用迁移目标端在onCreate回调中完成数据恢复,回调中通过判断launchParam.launchReason可获取迁移启动的场景,从而可以从Want中获取迁移前保存的数据 |
| onRestoreData?(data:
Object):
void; |
\@
ohos.app.ability.UIAbility.d.ts |
[
onCreate(want: Want, param: AbilityConstant.LaunchParam): void;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncreate
)
<br/>
[
onNewWant(want: Want, launchParams: AbilityConstant.LaunchParam): void;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityonnewwant
)
<br/>
多
实例模式Ability迁移目标端在onCreate回调中完成数据恢复,单实例应用迁移目标端在onCreate回调中完成数据恢复,回调中通过判断launchParam.launchReason可获取迁移启动的场景,从而可以从Want中获取迁移前保存的数据 |
| onRemoteTerminated?():
void; | application
\C
ontinueCallback.d.ts |
[
onContinueDone(result: number): void;
](
../reference/apis/js-apis-distributedMissionManager.md#continuecallback
)
|
| onRemoteTerminated?():
void; | application
\C
ontinueCallback.d.ts |
[
onContinueDone(result: number): void;
](
../reference/apis/js-apis-distributedMissionManager.md#continuecallback
)
|
| onSaveAbilityState?(outState:
PacMap):
void; |
\@
ohos.app.ability.UIAbility.d.ts |
[
onSaveState(reason: AbilityConstant.StateType, wantParam : {[key: string]: any}): AbilityConstant.OnSaveResult;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityonsavestate
)
|
| onSaveAbilityState?(outState:
PacMap):
void; |
\@
ohos.app.ability.UIAbility.d.ts |
[
onSaveState(reason: AbilityConstant.StateType, wantParam : {[key: string]: any}): AbilityConstant.OnSaveResult;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityonsavestate
)
|
| onRestoreAbilityState?(inState:
PacMap):
void; |
\@
ohos.app.ability.UIAbility.d.ts |
[
onCreate(want: Want, param: AbilityConstant.LaunchParam): void;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncreate
)
<br/>
应用重启后会触发Ability的onCreate方法,通过判断launchParam.launchReason可获取自恢复的场景,从而可以从Want中获取重启前保存的数据 |
| onRestoreAbilityState?(inState:
PacMap):
void; |
\@
ohos.app.ability.UIAbility.d.ts |
[
onCreate(want: Want, param: AbilityConstant.LaunchParam): void;
](
../reference/apis/js-apis-app-ability-uiAbility.md#abilityoncreate
)
<br/>
应用重启后会触发Ability的onCreate方法,通过判断launchParam.launchReason可获取自恢复的场景,从而可以从Want中获取重启前保存的数据 |
...
...
zh-cn/application-dev/application-models/pageability-launch-type.md
浏览文件 @
56780304
# PageAbility的启动模式
# PageAbility的启动模式
启动模式对应PageAbility被启动时的行为,支持单实例模式、
标准
模式两种启动模式。
启动模式对应PageAbility被启动时的行为,支持单实例模式、
多实例
模式两种启动模式。
**表1**
PageAbility的启动模式
**表1**
PageAbility的启动模式
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
| 启动模式 | 描述 | 说明 |
| 启动模式 | 描述 | 说明 |
| -------- | -------- | -------- |
| -------- | -------- | -------- |
| singleton | 单实例模式 | 每次调用startAbility方法时,如果应用进程中该类型的Ability实例已经存在,则复用已有的实例,系统中只存在唯一一个实例。表现为在最近任务列表中只有一个Ability实例。
<br/>
典型场景:当用户打开视频播放应用并观看视频,回到桌面后,再次打开视频播放应用,应用仍为回到桌面之前正在观看的视频。 |
| singleton | 单实例模式 | 每次调用startAbility方法时,如果应用进程中该类型的Ability实例已经存在,则复用已有的实例,系统中只存在唯一一个实例。表现为在最近任务列表中只有一个Ability实例。
<br/>
典型场景:当用户打开视频播放应用并观看视频,回到桌面后,再次打开视频播放应用,应用仍为回到桌面之前正在观看的视频。 |
|
multiton | 标准
模式 | 缺省启动模式。每次调用startAbility方法时,都会在应用进程中创建一个新的Ability实例。表现为在最近任务列表中可以看到有多个该类型的Ability实例。
<br/>
典型场景:当用户打开文档应用,选择新建文档的时候,每次点击新建文档,都会创建一个新的文档任务,在最近任务列表中可以看到多个新建的文档任务。 |
|
standard | 多实例
模式 | 缺省启动模式。每次调用startAbility方法时,都会在应用进程中创建一个新的Ability实例。表现为在最近任务列表中可以看到有多个该类型的Ability实例。
<br/>
典型场景:当用户打开文档应用,选择新建文档的时候,每次点击新建文档,都会创建一个新的文档任务,在最近任务列表中可以看到多个新建的文档任务。 |
应用开发者可在config.json配置文件中通过“launchType”配置启动模式。示例如下:
应用开发者可在config.json配置文件中通过“launchType”配置启动模式。示例如下:
...
@@ -21,8 +21,8 @@
...
@@ -21,8 +21,8 @@
"abilities"
:
[
"abilities"
:
[
{
{
//
singleton:
单实例模式
//
singleton:
单实例模式
//
multiton:
标准
模式
//
standard:
多实例
模式
"launchType"
:
"
multiton
"
,
"launchType"
:
"
standard
"
,
//
...
//
...
}
}
]
]
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
```
```
启动PageAbility时,对于
标准启动模式(多实例启动模式)
以及单实例启动模式首次启动,
[
PageAbility生命周期回调
](
pageability-lifecycle.md#table13118194914476
)
均会被触发。单实例非首次启动时不会再触发onCreate()接口,而是触发onNewWant(),onNewWant()的说明如下表2所示。
启动PageAbility时,对于
多实例启动模式启动,
以及单实例启动模式首次启动,
[
PageAbility生命周期回调
](
pageability-lifecycle.md#table13118194914476
)
均会被触发。单实例非首次启动时不会再触发onCreate()接口,而是触发onNewWant(),onNewWant()的说明如下表2所示。
**表2**
单实例启动模式特有的回调函数说明
**表2**
单实例启动模式特有的回调函数说明
...
...
zh-cn/application-dev/application-models/start-page.md
浏览文件 @
56780304
...
@@ -70,7 +70,7 @@ struct Index {
...
@@ -70,7 +70,7 @@ struct Index {
```
```
当PageAbility的启动模式设置为
标准模式或为首次启动单
例模式的PageAbility时(具体设置方法和典型场景示例见
[
PageAbility的启动模式
](
pageability-launch-type.md
)
),在调用方PageAbility中,通过want中的parameters参数传递要启动的指定页面的pages信息,调用startAbility()方法启动PageAbility。被调用方可以在onCreate中使用featureAbility的getWant方法获取want,再通过调用router.push实现启动指定页面。
当PageAbility的启动模式设置为
多实例模式,或为首次启动的单实
例模式的PageAbility时(具体设置方法和典型场景示例见
[
PageAbility的启动模式
](
pageability-launch-type.md
)
),在调用方PageAbility中,通过want中的parameters参数传递要启动的指定页面的pages信息,调用startAbility()方法启动PageAbility。被调用方可以在onCreate中使用featureAbility的getWant方法获取want,再通过调用router.push实现启动指定页面。
调用方的页面中实现按钮点击触发startAbility方法启动目标端PageAbility,startAbility方法的入参want中携带指定页面信息,示例代码如下:
调用方的页面中实现按钮点击触发startAbility方法启动目标端PageAbility,startAbility方法的入参want中携带指定页面信息,示例代码如下:
...
...
zh-cn/application-dev/application-models/uiability-launch-type.md
浏览文件 @
56780304
...
@@ -6,7 +6,7 @@ UIAbility的启动模式是指UIAbility实例在启动时的不同呈现状态
...
@@ -6,7 +6,7 @@ UIAbility的启动模式是指UIAbility实例在启动时的不同呈现状态
-
[
singleton(单实例模式)
](
#singleton启动模式
)
-
[
singleton(单实例模式)
](
#singleton启动模式
)
-
[
multiton(
标准
实例模式)
](
#multiton启动模式
)
-
[
multiton(
多
实例模式)
](
#multiton启动模式
)
-
[
specified(指定实例模式)
](
#specified启动模式
)
-
[
specified(指定实例模式)
](
#specified启动模式
)
...
@@ -44,9 +44,9 @@ singleton启动模式为单实例模式,也是默认情况下的启动模式
...
@@ -44,9 +44,9 @@ singleton启动模式为单实例模式,也是默认情况下的启动模式
## multiton启动模式
## multiton启动模式
multiton启动模式为
标准实例模式,每次调用startAbility()方法时,都会在应用进程中创建一个新的该类型UIAbility实例。即在最近任务列表中可以看到有多个该类型的UIAbility实例。这种情况下可以将UIAbility配置为multiton(标准
实例模式)。
multiton启动模式为
多实例模式,每次调用startAbility()方法时,都会在应用进程中创建一个新的该类型UIAbility实例。即在最近任务列表中可以看到有多个该类型的UIAbility实例。这种情况下可以将UIAbility配置为multiton(多
实例模式)。
**图2**
标准
实例模式演示效果
**图2**
多
实例模式演示效果
!
[
multiton-mode
](
figures/standard-mode.png
)
!
[
multiton-mode
](
figures/standard-mode.png
)
...
...
zh-cn/application-dev/quick-start/application-configuration-file-overview-fa.md
浏览文件 @
56780304
...
@@ -74,7 +74,7 @@ config.json示例:
...
@@ -74,7 +74,7 @@ config.json示例:
}
}
],
],
"orientation"
:
"unspecified"
,
"orientation"
:
"unspecified"
,
"
exported
"
:
true
,
"
visible
"
:
true
,
"srcPath"
:
"MainAbility_entry"
,
"srcPath"
:
"MainAbility_entry"
,
"name"
:
".MainAbility_entry"
,
"name"
:
".MainAbility_entry"
,
"srcLanguage"
:
"ets"
,
"srcLanguage"
:
"ets"
,
...
@@ -85,7 +85,7 @@ config.json示例:
...
@@ -85,7 +85,7 @@ config.json示例:
//
$string:MainAbility_entry_label为资源索引
//
$string:MainAbility_entry_label为资源索引
"label"
:
"$string:MainAbility_entry_label"
,
"label"
:
"$string:MainAbility_entry_label"
,
"type"
:
"page"
,
"type"
:
"page"
,
"launchType"
:
"
multiton
"
"launchType"
:
"
standard
"
}
}
],
],
"distro"
:
{
"distro"
:
{
...
...
zh-cn/application-dev/quick-start/module-structure.md
浏览文件 @
56780304
...
@@ -48,7 +48,7 @@ module示例:
...
@@ -48,7 +48,7 @@ module示例:
}
}
],
],
"orientation"
:
"unspecified"
,
"orientation"
:
"unspecified"
,
"
exported
"
:
true
,
"
visible
"
:
true
,
"srcPath"
:
"EntryAbility"
,
"srcPath"
:
"EntryAbility"
,
"name"
:
".EntryAbility"
,
"name"
:
".EntryAbility"
,
"srcLanguage"
:
"ets"
,
"srcLanguage"
:
"ets"
,
...
@@ -57,7 +57,7 @@ module示例:
...
@@ -57,7 +57,7 @@ module示例:
"formsEnabled"
:
false
,
"formsEnabled"
:
false
,
"label"
:
"$string:MainAbility_label"
,
"label"
:
"$string:MainAbility_label"
,
"type"
:
"page"
,
"type"
:
"page"
,
"launchType"
:
"
multiton
"
"launchType"
:
"
standard
"
}
}
],
],
"distro"
:
{
"distro"
:
{
...
@@ -263,8 +263,8 @@ OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置入口
...
@@ -263,8 +263,8 @@ OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置入口
| icon | 标识Ability图标资源文件的索引。取值示例:$media:ability_icon。如果在该Ability的skills属性中,actions的取值包含
"action.system.home",entities取值中包含"entity.system.home",则该Ability的icon将同时作为应用的icon。如果存在多个符合条件的Ability,则取位置靠前的Ability的icon作为应用的icon。
<br/>
说明:应用的"icon"和"label"是用户可感知配置项,需要区别于当前所有已有的应用"icon"或"label"(至少有一个不同)。 | 字符串 | 可缺省,缺省值为空。 |
| icon | 标识Ability图标资源文件的索引。取值示例:$media:ability_icon。如果在该Ability的skills属性中,actions的取值包含
"action.system.home",entities取值中包含"entity.system.home",则该Ability的icon将同时作为应用的icon。如果存在多个符合条件的Ability,则取位置靠前的Ability的icon作为应用的icon。
<br/>
说明:应用的"icon"和"label"是用户可感知配置项,需要区别于当前所有已有的应用"icon"或"label"(至少有一个不同)。 | 字符串 | 可缺省,缺省值为空。 |
| label | 标识Ability对用户显示的名称。取值可以是Ability名称,也可以是对该名称的资源索引,以支持多语言。如果在该Ability的skills属性中,actions的取值包含
"action.system.home",entities取值中包含"entity.system.home",则该Ability的label将同时作为应用的label。如果存在多个符合条件的Ability,则取位置靠前的Ability的label作为应用的label。
<br/>
说明:
应用的"icon"和"label"是用户可感知配置项,需要区别于当前所有已有的应用"icon"或"label"(至少有一个不同)。该标签为资源文件中定义的字符串的引用,或以"{}"包括的字符串。该标签最大长度为255个字节。 | 字符串 | 可缺省,缺省值为空。 |
| label | 标识Ability对用户显示的名称。取值可以是Ability名称,也可以是对该名称的资源索引,以支持多语言。如果在该Ability的skills属性中,actions的取值包含
"action.system.home",entities取值中包含"entity.system.home",则该Ability的label将同时作为应用的label。如果存在多个符合条件的Ability,则取位置靠前的Ability的label作为应用的label。
<br/>
说明:
应用的"icon"和"label"是用户可感知配置项,需要区别于当前所有已有的应用"icon"或"label"(至少有一个不同)。该标签为资源文件中定义的字符串的引用,或以"{}"包括的字符串。该标签最大长度为255个字节。 | 字符串 | 可缺省,缺省值为空。 |
| uri | 标识Ability的统一资源标识符。该标签最大长度为255个字节。 | 字符串 | 可缺省,对于data类型的Ability不可缺省。 |
| uri | 标识Ability的统一资源标识符。该标签最大长度为255个字节。 | 字符串 | 可缺省,对于data类型的Ability不可缺省。 |
| launchType | 标识Ability的启动模式,支持"
multiton"和"singleton"两种模式:
<br/>
multiton
:表示该Ability可以有多实例。该模式适用于大多数应用场景。
<br/>
singleton:表示该Ability在所有任务栈中仅可以有一个实例。例如,具有全局唯一性的呼叫来电界面即采用"singleton"模式。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为"singleton"。 |
| launchType | 标识Ability的启动模式,支持"
standard"和"singleton"两种模式:
<br/>
standard
:表示该Ability可以有多实例。该模式适用于大多数应用场景。
<br/>
singleton:表示该Ability在所有任务栈中仅可以有一个实例。例如,具有全局唯一性的呼叫来电界面即采用"singleton"模式。该标签仅适用于默认设备、平板、智慧屏、车机、智能穿戴。 | 字符串 | 可缺省,缺省值为"singleton"。 |
|
exported
| 标识Ability是否可以被其他应用调用。
<br/>
true:可以被其他应用调用。
<br/>
false:不能被其他应用调用。 | 布尔类型 | 可缺省,缺省值为"false"。 |
|
visible
| 标识Ability是否可以被其他应用调用。
<br/>
true:可以被其他应用调用。
<br/>
false:不能被其他应用调用。 | 布尔类型 | 可缺省,缺省值为"false"。 |
| permissions | 标识其他应用的Ability调用此Ability时需要申请的权限集合,一个数组元素为一个权限名称。通常采用反向域名格式(最大255字节),取值为系统预定义的权限。 | 字符串数组 | 可缺省,缺省值为空。 |
| permissions | 标识其他应用的Ability调用此Ability时需要申请的权限集合,一个数组元素为一个权限名称。通常采用反向域名格式(最大255字节),取值为系统预定义的权限。 | 字符串数组 | 可缺省,缺省值为空。 |
|skills | 标识Ability能够接收的want的特征。 | 对象数组 | 可缺省,缺省值为空。 |
|skills | 标识Ability能够接收的want的特征。 | 对象数组 | 可缺省,缺省值为空。 |
| deviceCapability | 标识Ability运行时要求设备具有的能力,采用字符串数组的格式表示。该标签为数组,支持最多配置512个元素,单个元素最大字节长度为64。 | 字符串数组 | 可缺省,缺省值为空。 |
| deviceCapability | 标识Ability运行时要求设备具有的能力,采用字符串数组的格式表示。该标签为数组,支持最多配置512个元素,单个元素最大字节长度为64。 | 字符串数组 | 可缺省,缺省值为空。 |
...
@@ -277,7 +277,7 @@ OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置入口
...
@@ -277,7 +277,7 @@ OpenHarmony系统对无图标应用严格管控。如果HAP中没有配置入口
| writePermission | 标识向Ability写数据所需的权限。该标签仅适用于data类型的Ability。取值为长度不超过255字节的字符串。 | 字符串 | 可缺省,缺省为空。 |
| writePermission | 标识向Ability写数据所需的权限。该标签仅适用于data类型的Ability。取值为长度不超过255字节的字符串。 | 字符串 | 可缺省,缺省为空。 |
| configChanges | 标识Ability关注的系统配置集合。当已关注的配置发生变更后,Ability会收到onConfigurationUpdated回调。取值范围:
<br/>
mcc:表示IMSI移动设备国家/地区代码(MCC)发生变更。典型场景:检测到SIM并更新MCC。
<br/>
mnc:IMSI移动设备网络代码(MNC)发生变更。典型场景:检测到SIM并更新MNC。
<br/>
locale:表示语言区域发生变更。典型场景:用户已为设备文本的文本显示选择新的语言类型。
<br/>
layout:表示屏幕布局发生变更。典型场景:当前有不同的显示形态都处于活跃状态。
<br/>
fontSize:表示字号发生变更。典型场景:用户已设置新的全局字号。
<br/>
orientation:表示屏幕方向发生变更。典型场景:用户旋转设备。
<br/>
density:表示显示密度发生变更。典型场景:用户可能指定不同的显示比例,或当前有不同的显示形态同时处于活跃状态。
<br/>
size:显示窗口大小发生变更。
<br/>
smallestSize:显示窗口较短边的边长发生变更。
<br/>
colorMode:颜色模式发生变更。 | 字符串数组 | 可缺省,缺省为空。 |
| configChanges | 标识Ability关注的系统配置集合。当已关注的配置发生变更后,Ability会收到onConfigurationUpdated回调。取值范围:
<br/>
mcc:表示IMSI移动设备国家/地区代码(MCC)发生变更。典型场景:检测到SIM并更新MCC。
<br/>
mnc:IMSI移动设备网络代码(MNC)发生变更。典型场景:检测到SIM并更新MNC。
<br/>
locale:表示语言区域发生变更。典型场景:用户已为设备文本的文本显示选择新的语言类型。
<br/>
layout:表示屏幕布局发生变更。典型场景:当前有不同的显示形态都处于活跃状态。
<br/>
fontSize:表示字号发生变更。典型场景:用户已设置新的全局字号。
<br/>
orientation:表示屏幕方向发生变更。典型场景:用户旋转设备。
<br/>
density:表示显示密度发生变更。典型场景:用户可能指定不同的显示比例,或当前有不同的显示形态同时处于活跃状态。
<br/>
size:显示窗口大小发生变更。
<br/>
smallestSize:显示窗口较短边的边长发生变更。
<br/>
colorMode:颜色模式发生变更。 | 字符串数组 | 可缺省,缺省为空。 |
| mission | 标识Ability指定的任务栈。该标签仅适用于page类型的Ability。默认情况下应用中所有Ability同属一个任务栈。 | 字符串 | 可缺省,缺省为应用的包名。 |
| mission | 标识Ability指定的任务栈。该标签仅适用于page类型的Ability。默认情况下应用中所有Ability同属一个任务栈。 | 字符串 | 可缺省,缺省为应用的包名。 |
| targetAbility | 标识当前Ability重用的目标Ability。该标签仅适用于page类型的Ability。如果配置了targetAbility属性,则当前Ability(即别名Ability)的属性中仅name、icon、label、
exported
、permissions、skills生效,其他属性均沿用targetAbility中的属性值。目标Ability必须与别名Ability在同一应用中,且在配置文件中目标Ability必须在别名之前进行声明。 | 字符串 | 可缺省,缺省值为空。表示当前Ability不是一个别名Ability。 |
| targetAbility | 标识当前Ability重用的目标Ability。该标签仅适用于page类型的Ability。如果配置了targetAbility属性,则当前Ability(即别名Ability)的属性中仅name、icon、label、
visible
、permissions、skills生效,其他属性均沿用targetAbility中的属性值。目标Ability必须与别名Ability在同一应用中,且在配置文件中目标Ability必须在别名之前进行声明。 | 字符串 | 可缺省,缺省值为空。表示当前Ability不是一个别名Ability。 |
| formsEnabled | 标识Ability是否支持卡片(forms)功能。该标签仅适用于page类型的Ability。
<br/>
true:支持卡片能力。
<br/>
false:不支持卡片能力。 | 布尔值 | 可缺省,缺省值为false。 |
| formsEnabled | 标识Ability是否支持卡片(forms)功能。该标签仅适用于page类型的Ability。
<br/>
true:支持卡片能力。
<br/>
false:不支持卡片能力。 | 布尔值 | 可缺省,缺省值为false。 |
| forms | 标识服务卡片的属性。该标签仅当formsEnabled为"true"时,才能生效。 | 对象数组 | 可缺省,缺省值为空。 |
| forms | 标识服务卡片的属性。该标签仅当formsEnabled为"true"时,才能生效。 | 对象数组 | 可缺省,缺省值为空。 |
| srcLanguage | Ability开发语言的类型,开发者创建工程时由开发者手动选择开发语言。 | 字符串 | 可缺省,缺省值为“js”。 |
| srcLanguage | Ability开发语言的类型,开发者创建工程时由开发者手动选择开发语言。 | 字符串 | 可缺省,缺省值为“js”。 |
...
@@ -308,10 +308,10 @@ abilities示例:
...
@@ -308,10 +308,10 @@ abilities示例:
"icon"
:
"$media:ic_launcher"
,
"icon"
:
"$media:ic_launcher"
,
//
$string:example
为字符串类资源
//
$string:example
为字符串类资源
"label"
:
"$string:example"
,
"label"
:
"$string:example"
,
"launchType"
:
"
multiton
"
,
"launchType"
:
"
standard
"
,
"orientation"
:
"unspecified"
,
"orientation"
:
"unspecified"
,
"permissions"
:
[],
"permissions"
:
[],
"
exported
"
:
true
,
"
visible
"
:
true
,
"skills"
:
[
"skills"
:
[
{
{
"actions"
:
[
"actions"
:
[
...
@@ -338,9 +338,9 @@ abilities示例:
...
@@ -338,9 +338,9 @@ abilities示例:
"description"
:
"example play ability"
,
"description"
:
"example play ability"
,
"icon"
:
"$media:ic_launcher"
,
"icon"
:
"$media:ic_launcher"
,
"label"
:
"$string:example"
,
"label"
:
"$string:example"
,
"launchType"
:
"
multiton
"
,
"launchType"
:
"
standard
"
,
"orientation"
:
"unspecified"
,
"orientation"
:
"unspecified"
,
"
exported
"
:
false
,
"
visible
"
:
false
,
"skills"
:
[
"skills"
:
[
{
{
"actions"
:
[
"actions"
:
[
...
@@ -361,7 +361,7 @@ abilities示例:
...
@@ -361,7 +361,7 @@ abilities示例:
"name"
:
".UserADataAbility"
,
"name"
:
".UserADataAbility"
,
"type"
:
"data"
,
"type"
:
"data"
,
"uri"
:
"dataability://com.example.world.test.UserADataAbility"
,
"uri"
:
"dataability://com.example.world.test.UserADataAbility"
,
"
exported
"
:
true
"
visible
"
:
true
}
}
]
]
```
```
...
...
zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md
浏览文件 @
56780304
...
@@ -27,7 +27,7 @@ startAbility(want: Want, callback: AsyncCallback<void>): void;
...
@@ -27,7 +27,7 @@ startAbility(want: Want, callback: AsyncCallback<void>): void;
使用规则:
使用规则:
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
目标Ability的
visible
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
目标Ability的
exported
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
...
@@ -93,7 +93,7 @@ startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void&
...
@@ -93,7 +93,7 @@ startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void&
使用规则:
使用规则:
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
目标Ability的
visible
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
目标Ability的
exported
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
...
@@ -163,7 +163,7 @@ startAbility(want: Want, options?: StartOptions): Promise<void>;
...
@@ -163,7 +163,7 @@ startAbility(want: Want, options?: StartOptions): Promise<void>;
使用规则:
使用规则:
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
目标Ability的
visible
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
目标Ability的
exported
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
...
@@ -241,7 +241,7 @@ startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>):
...
@@ -241,7 +241,7 @@ startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>):
使用规则:
使用规则:
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
目标Ability的
visible
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
目标Ability的
exported
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
...
@@ -311,7 +311,7 @@ startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback
...
@@ -311,7 +311,7 @@ startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback
使用规则:
使用规则:
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
目标Ability的
visible
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
目标Ability的
exported
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
...
@@ -386,7 +386,7 @@ startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityRes
...
@@ -386,7 +386,7 @@ startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityRes
使用规则:
使用规则:
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
目标Ability的
visible
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
目标Ability的
exported
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
...
@@ -1560,7 +1560,7 @@ startAbilityByCall(want: Want): Promise<Caller>;
...
@@ -1560,7 +1560,7 @@ startAbilityByCall(want: Want): Promise<Caller>;
使用规则:
使用规则:
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
调用方应用位于后台时,使用该接口启动Ability需申请
`ohos.permission.START_ABILITIES_FROM_BACKGROUND`
权限
-
目标Ability的
visible
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
目标Ability的
exported
属性若配置为false,调用方应用需申请
`ohos.permission.START_INVISIBLE_ABILITY`
权限
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
-
组件启动规则详见:
[
组件启动规则(Stage模型)
](
../../application-models/component-startup-rules.md
)
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
**系统能力**
:SystemCapability.Ability.AbilityRuntime.Core
...
...
zh-cn/application-dev/reference/apis/js-apis-router.md
浏览文件 @
56780304
...
@@ -572,8 +572,8 @@ router.getParams();
...
@@ -572,8 +572,8 @@ router.getParams();
| 名称 | 说明 |
| 名称 | 说明 |
| -------- | ------------------------------------------------------------ |
| -------- | ------------------------------------------------------------ |
| Standard |
标准模式。
<br/>
目标页面会被添加到页面路由栈顶,无论栈中是否存在相同url的页面。
<br/>
**说明:**
不使用路由跳转模式时,按标准模式
跳转。 |
| Standard |
多实例模式,也是默认情况下的跳转模式。
<br/>
目标页面会被添加到页面栈顶,无论栈中是否存在相同url的页面。
<br/>
**说明:**
不使用路由跳转模式时,则按照默认的多实例模式进行
跳转。 |
| Single | 单实例模式。
<br/>
如果目标页面的url
在页面栈中已经存在同url页面,离栈顶最近的页面会被移动到栈顶,移动后的页面为新建页。
<br/>
如目标页面的url在页面栈中不存在同url页面,按标准模式
跳转。 |
| Single | 单实例模式。
<br/>
如果目标页面的url
已经存在于页面栈中,则会将离栈顶最近的同url页面移动到栈顶,该页面成为新建页。
<br
/>
如果目标页面的url在页面栈中不存在同url页面,则按照默认的多实例模式进行
跳转。 |
## 完整示例
## 完整示例
...
...
zh-cn/application-dev/ui/arkts-page-transition-animation.md
浏览文件 @
56780304
...
@@ -60,7 +60,7 @@ pageTransition() {
...
@@ -60,7 +60,7 @@ pageTransition() {
```
```
假设页面
栈为标准
实例模式,即页面栈中允许存在重复的页面。可能会有4种场景,对应的页面转场效果如下表。
假设页面
跳转配置为多
实例模式,即页面栈中允许存在重复的页面。可能会有4种场景,对应的页面转场效果如下表。
| 路由操作 | 页面A转场效果 | 页面B转场效果 |
| 路由操作 | 页面A转场效果 | 页面B转场效果 |
...
@@ -118,7 +118,7 @@ pageTransition() {
...
@@ -118,7 +118,7 @@ pageTransition() {
```
```
以上代码则完整的定义了所有可能的页面转场样式。假设页面
栈为标准
实例模式,即页面栈中允许存在重复的页面。可能会有4种场景,对应的页面转场效果如下表。
以上代码则完整的定义了所有可能的页面转场样式。假设页面
跳转配置为多
实例模式,即页面栈中允许存在重复的页面。可能会有4种场景,对应的页面转场效果如下表。
| 路由操作 | 页面A转场效果 | 页面B转场效果 |
| 路由操作 | 页面A转场效果 | 页面B转场效果 |
...
...
zh-cn/application-dev/ui/arkts-routing.md
浏览文件 @
56780304
...
@@ -11,11 +11,11 @@
...
@@ -11,11 +11,11 @@
**图1**
页面跳转
**图1**
页面跳转


Router模块提供了两种跳转模式,分别是
[
router.pushUrl()
](
../reference/apis/js-apis-router.md#routerpushurl9
)
和
[
router.replaceUrl()
](
../reference/apis/js-apis-router.md#routerreplaceurl9
)
。这两种模式决定了目标页是否会替换当前页。
Router模块提供了两种跳转模式,分别是
[
router.pushUrl()
](
../reference/apis/js-apis-router.md#routerpushurl9
)
和
[
router.replaceUrl()
](
../reference/apis/js-apis-router.md#routerreplaceurl9
)
。这两种模式决定了目标页
面
是否会替换当前页。
-
router.pushUrl():目标页不会替换当前页,而是压入
[
页面栈
](
../application-models/page-mission-stack.md
)
。这样可以保留当前页的状态,并且可以通过返回键或者调用
[
router.back()
](
../reference/apis/js-apis-router.md#routerback
)
方法返回到当前页。
-
router.pushUrl():目标页
面
不会替换当前页,而是压入
[
页面栈
](
../application-models/page-mission-stack.md
)
。这样可以保留当前页的状态,并且可以通过返回键或者调用
[
router.back()
](
../reference/apis/js-apis-router.md#routerback
)
方法返回到当前页。
-
router.replaceUrl():目标页会替换当前页,并销毁当前页。这样可以释放当前页的资源,并且无法返回到当前页。
-
router.replaceUrl():目标页
面
会替换当前页,并销毁当前页。这样可以释放当前页的资源,并且无法返回到当前页。
>**说明:**
>**说明:**
>
>
...
@@ -23,9 +23,9 @@ Router模块提供了两种跳转模式,分别是[router.pushUrl()](../referen
...
@@ -23,9 +23,9 @@ Router模块提供了两种跳转模式,分别是[router.pushUrl()](../referen
同时,Router模块提供了两种实例模式,分别是Standard和Single。这两种模式决定了目标url是否会对应多个实例。
同时,Router模块提供了两种实例模式,分别是Standard和Single。这两种模式决定了目标url是否会对应多个实例。
-
Standard:
标准实例模式,也是默认情况下的实例模式。每次调用该方法都会新建一个目标页,并压入栈顶
。
-
Standard:
多实例模式,也是默认情况下的跳转模式。目标页面会被添加到页面栈顶,无论栈中是否存在相同url的页面
。
-
Single:单实例模式。
即如果目标页的url在页面栈中已经存在同url页面,则离栈顶最近的同url页面会被移动到栈顶,并重新加载;如果目标页的url在页面栈中不存在同url页面,则按照标准模式
跳转。
-
Single:单实例模式。
如果目标页面的url已经存在于页面栈中,则会将离栈顶最近的同url页面移动到栈顶,该页面成为新建页。如果目标页面的url在页面栈中不存在同url页面,则按照默认的多实例模式进行
跳转。
在使用页面路由Router相关功能之前,需要在代码中先导入Router模块。
在使用页面路由Router相关功能之前,需要在代码中先导入Router模块。
...
@@ -54,7 +54,7 @@ import router from '@ohos.router';
...
@@ -54,7 +54,7 @@ import router from '@ohos.router';
>**说明:**
>**说明:**
>
>
>
标准
实例模式下,router.RouterMode.Standard参数可以省略。
>
多
实例模式下,router.RouterMode.Standard参数可以省略。
-
场景二:有一个登录页(Login)和一个个人中心页(Profile),希望从登录页成功登录后,跳转到个人中心页。同时,销毁登录页,在返回时直接退出应用。这种场景下,可以使用replaceUrl()方法,并且使用Standard实例模式(或者省略)。
-
场景二:有一个登录页(Login)和一个个人中心页(Profile),希望从登录页成功登录后,跳转到个人中心页。同时,销毁登录页,在返回时直接退出应用。这种场景下,可以使用replaceUrl()方法,并且使用Standard实例模式(或者省略)。
...
@@ -76,7 +76,7 @@ import router from '@ohos.router';
...
@@ -76,7 +76,7 @@ import router from '@ohos.router';
>**说明:**
>**说明:**
>
>
>
标准
实例模式下,router.RouterMode.Standard参数可以省略。
>
多
实例模式下,router.RouterMode.Standard参数可以省略。
-
场景三:有一个设置页(Setting)和一个主题切换页(Theme),希望从设置页点击主题选项,跳转到主题切换页。同时,需要保证每次只有一个主题切换页存在于页面栈中,在返回时直接回到设置页。这种场景下,可以使用pushUrl()方法,并且使用Single实例模式。
-
场景三:有一个设置页(Setting)和一个主题切换页(Theme),希望从设置页点击主题选项,跳转到主题切换页。同时,需要保证每次只有一个主题切换页存在于页面栈中,在返回时直接回到设置页。这种场景下,可以使用pushUrl()方法,并且使用Single实例模式。
...
@@ -115,7 +115,7 @@ import router from '@ohos.router';
...
@@ -115,7 +115,7 @@ import router from '@ohos.router';
以上是不带参数传递的场景。
以上是不带参数传递的场景。
如果需要在跳转时传递一些数据给目标页,则可以在调用Router模块的方法时,添加一个params属性,并指定一个对象作为参数。例如:
如果需要在跳转时传递一些数据给目标页
面
,则可以在调用Router模块的方法时,添加一个params属性,并指定一个对象作为参数。例如:
```
ts
```
ts
...
@@ -150,7 +150,7 @@ function onJumpClick(): void {
...
@@ -150,7 +150,7 @@ function onJumpClick(): void {
}
}
```
```
在目标页中,可以通过调用Router模块的
[
getParams()
](
../reference/apis/js-apis-router.md#routergetparams
)
方法来获取传递过来的参数。例如:
在目标页
面
中,可以通过调用Router模块的
[
getParams()
](
../reference/apis/js-apis-router.md#routergetparams
)
方法来获取传递过来的参数。例如:
```
ts
```
ts
...
@@ -162,7 +162,7 @@ const age = params['info'].age; // 获取age属性的值
...
@@ -162,7 +162,7 @@ const age = params['info'].age; // 获取age属性的值
## 页面返回
## 页面返回
当用户在一个页面完成操作后,通常需要返回到上一个页面或者指定页面,这就需要用到页面返回功能。在返回的过程中,可能需要将数据传递给目标页,这就需要用到数据传递功能。
当用户在一个页面完成操作后,通常需要返回到上一个页面或者指定页面,这就需要用到页面返回功能。在返回的过程中,可能需要将数据传递给目标页
面
,这就需要用到数据传递功能。
**图2**
页面返回
**图2**
页面返回
...
@@ -195,7 +195,7 @@ import router from '@ohos.router';
...
@@ -195,7 +195,7 @@ import router from '@ohos.router';
});
});
```
```
这种方式可以返回到指定页面,需要指定目标页
的路径。目标页
必须存在于页面栈中才能够返回。
这种方式可以返回到指定页面,需要指定目标页
面的路径。目标页面
必须存在于页面栈中才能够返回。
-
方式三:返回到指定页面,并传递自定义参数信息。
-
方式三:返回到指定页面,并传递自定义参数信息。
...
@@ -209,9 +209,9 @@ import router from '@ohos.router';
...
@@ -209,9 +209,9 @@ import router from '@ohos.router';
});
});
```
```
这种方式不仅可以返回到指定页面,还可以在返回的同时传递自定义参数信息。这些参数信息可以在目标页中通过调用router.getParams()方法进行获取和解析。
这种方式不仅可以返回到指定页面,还可以在返回的同时传递自定义参数信息。这些参数信息可以在目标页
面
中通过调用router.getParams()方法进行获取和解析。
在目标页中,在需要获取参数的位置调用router.getParams()方法即可,例如在onPageShow()生命周期回调中:
在目标页
面
中,在需要获取参数的位置调用router.getParams()方法即可,例如在onPageShow()生命周期回调中:
```
ts
```
ts
...
@@ -276,7 +276,7 @@ message:string类型,表示询问框的内容。
...
@@ -276,7 +276,7 @@ message:string类型,表示询问框的内容。
如果调用成功,则会在目标界面开启页面返回询问框;如果调用失败,则会抛出异常,并通过err.code和err.message获取错误码和错误信息。
如果调用成功,则会在目标界面开启页面返回询问框;如果调用失败,则会抛出异常,并通过err.code和err.message获取错误码和错误信息。
当用户点击“返回”按钮时,会弹出确认对话框,询问用户是否确认返回。选择“取消”将停留在当前页目标页;选择“确认”将触发router.back()方法,并根据参数决定如何执行跳转。
当用户点击“返回”按钮时,会弹出确认对话框,询问用户是否确认返回。选择“取消”将停留在当前页目标页
面
;选择“确认”将触发router.back()方法,并根据参数决定如何执行跳转。
### 自定义询问框
### 自定义询问框
...
@@ -323,4 +323,4 @@ function onBackClick() {
...
@@ -323,4 +323,4 @@ function onBackClick() {
}
}
```
```
当用户点击“返回”按钮时,会弹出自定义的询问框,询问用户是否确认返回。选择“取消”将停留在当前页目标页;选择“确认”将触发router.back()方法,并根据参数决定如何执行跳转。
当用户点击“返回”按钮时,会弹出自定义的询问框,询问用户是否确认返回。选择“取消”将停留在当前页目标页
面
;选择“确认”将触发router.back()方法,并根据参数决定如何执行跳转。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录