鸿蒙开发-卡片事件中 router 类型

在HarmonyOS中,ArkTS语言widget卡片事件中的router类型是一种用于卡片内部和提供方应用间交互的事件类型。以下是对router类型的详细解释:

一、router类型的作用

router类型的事件主要用于在卡片中触发跳转到提供方应用的指定UIAbility。通过router事件,可以实现卡片与应用之间的无缝跳转,提升用户体验。

二、router类型的使用方式

在ArkTS中,可以通过postCardAction接口触发router事件。该接口的定义如下:

postCardAction(component: Object, action: Object): void

其中,action参数是一个对象,用于描述要执行的动作。对于router类型的事件,action参数需要包含以下属性:

  • action: 字符串类型,值为"router",表示要执行的动作是跳转。
  • bundleName(可选):字符串类型,表示目标应用的包名。如果未指定,则默认跳转到当前应用。
  • abilityName(必填):字符串类型,表示目标UIAbility的名称。
  • params(可选):JSON格式的键值对,用于传递额外的参数给目标UIAbility。

三、示例代码

以下是一个使用postCardAction接口触发router事件的示例代码:

@Entry
@Component
struct WidgetCard {
  build() {
    Column() {
      Button('跳转')
        .width('40%')
        .height('20%')
        .onClick(() => {
          postCardAction(this, {
            'action': 'router',
            'bundleName': 'com.example.myapplication', // 可选,如果跳转到当前应用则可以省略
            'abilityName': 'EntryAbility', // 必填,目标UIAbility的名称
            'params': { // 可选,传递给目标UIAbility的参数
              'message': 'testForRouter' // 自定义要发送的message
            }
          });
        });
    }
    .width('100%')
    .height('100%')
  }
}

在上面的示例中,当用户点击“跳转”按钮时,会触发postCardAction接口,并传递一个包含actionbundleNameabilityNameparams属性的对象。这将导致卡片跳转到指定应用的EntryAbility,并传递一个包含message的参数。

四、注意事项

  1. abilityName属性是必填的,它指定了要跳转到的UIAbility的名称。
  2. 如果未指定bundleName属性,则默认跳转到当前应用。
  3. params属性是可选的,用于传递额外的参数给目标UIAbility。这些参数可以在目标UIAbility的onCreateonNewWant生命周期回调中通过入参want获取。

综上所述,router类型的事件在HarmonyOS的ArkTS语言widget卡片中扮演着重要的角色,它实现了卡片与应用之间的无缝跳转,并允许传递额外的参数。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值