提供外部应用组件嵌入式显示功能,即外部应用提供的UI可在本应用内显示。
说明:
- 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
- 本组件为系统接口。
子组件
无
接口
PluginComponent(value: { template: PluginComponentTemplate, data: KVObject})
创建插件组件,用于显示外部应用提供的UI。
参数:
| 参数名 | 参数类型 | 必填 | 参数描述 |
|---|---|---|---|
| value | {
template: PluginComponentTemplate, data: KVObject } |
是 | template: 组件模板,用于跟提供者定义的组件绑定。 data: 传给插件组件提供者使用的数据。 |
PluginComponentTemplate类型说明
| 参数 | 类型 | 描述 |
|---|---|---|
| source | string | 组件模板名。 |
| bundleName | string | 提供者Ability的bundleName。 |
属性
必须显式设置组件宽高为非0有效值。
说明:
模板支持两种提供方式:
-
1.使用绝对路径进行资源提供:source字段填写模板绝对路径,bundleName不需要填写。仅适用于不需要加载资源的单独模板页面,不建议使用。
-
2.通过应用包进行资源提供:bundleName字段需要填写应用包名;source字段填写相对hap包的模板相对路径,对于多hap场景,通过相对路径&模块名称的方式进行hap包的确认。
例如:{source:'pages/PluginProviderExample.ets&entry', bundleName:'com.example.provider'}
仅对FA模型支持source字段填写AbilityName进行模板提供。
例如:{source:'plugin', bundleName:'com.example.provider'}
事件
仅支持绑定手势方法,并分发给提供方页面,在提供方页面内部处理。
除支持通用事件,还支持以下事件:
| 名称 | 功能描述 |
|---|---|
| onComplete(callback: () => void) | 组件加载完成回调。 |
| onError(callback: (info: { errcode: number, msg: string }) => void) | 组件加载错误回调。 errcode: 错误码。 msg: 错误信息。 |
示例
组件使用方
//PluginUserExample.ets
import plugin from "./plugin_component"
interface Info{
errcode:number,
msg:string
}
@Entry
@Component
struct PluginUserExample {
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent

本文详细介绍了如何在HarmonyOS应用中嵌入外部应用组件,包括PluginComponent的创建、数据传递以及FA和Stage模型下的事件监听。此外,还提到了重要版本支持和组件提供与使用方的示例代码.
最低0.47元/天 解锁文章
9973

被折叠的 条评论
为什么被折叠?



