widget-switch.md 2.5 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4 5 6 7 8 9 10
# 卡片切换


**卡片切换**主要包含如下三部分:


- 卡片页面布局:FA模型卡片和Stage模型卡片的布局都采用类web范式开发可以直接复用。
- 卡片配置文件:FA模型的卡片配置在config.json中,Stage卡片配置在module.json5和form_config.json中(如下图1和图2)。
- 卡片业务逻辑:FA模型和Stage模型在卡片入口文件以及生命周期存在细微的差异(如下图3和图4)。

Z
zhongjianfei 已提交
11 12 13 14 15 16 17 18
| 配置项           | FA模型                                      | Stage模型                                                    |
| ---------------- | ------------------------------------------- | ------------------------------------------------------------ |
| 配置项位置       | formAbility和forms配置都在config.json文件里 | 一级目录module.json5配置文件中配置extensionAbilities(针对formExtensionAbility的配置),二级目录form_config.json文件中配置forms(针对formExtensionAbility里包含的forms的详细配置) |
| 卡片代码路径     | srcPath,不带文件名                         | srcEntrance,带文件名                                        |
| 语言             | srcLanguage支持配置为js或ets                | 无此配置项,只支持ets                                        |
| 是否使能卡片     | formsEnabled                                | 无,type配置项配置为form即使能                               |
| ability类型      | type:service                               | type:form                                                   |
| 二级目录配置标签 | 无                                          | metadata:包含name、value、resource。其中resource用于指向卡片二级目录form_config.json文件的位置 |
Z
zengyawen 已提交
19 20 21 22 23 24 25 26 27 28 29 30 31 32


入口配置差异示意图1:


![widget-switch1](figures/widget-switch1.png)


卡片信息配置差异示意图2:


![widget-switch2](figures/widget-switch2.png)


Z
zhongjianfei 已提交
33
| 入口及生命周期 | FA模型 | Stage模型 |
Z
zengyawen 已提交
34
| -------- | -------- | -------- |
Z
zhongjianfei 已提交
35 36
| 入口文件 | srcPath指向的目录下的form.ts | srcEntrance指向的文件 |
| 生命周期 | export&nbsp;default | import&nbsp;FormExtension&nbsp;from&nbsp;'\@ohos.app.form.FormExtensionAbility';<br/>export&nbsp;default&nbsp;class&nbsp;FormAbility&nbsp;extends&nbsp;FormExtension |
Z
zengyawen 已提交
37 38 39 40 41 42 43 44 45 46 47 48


入口文件差异示意图3:


![widget-switch3](figures/widget-switch3.png)


生命周期差异示意图4( 生命周期回调均一致,不需要调整):


![widget-switch4](figures/widget-switch4.png)