当前位置: 首页 > news >正文

【HarmonyOS】元服务卡片router实现跳转到指定页面并传动态参数

【关键字】

元服务卡片、router跳转不同页面、传递动态参数

【写在前面】

本篇文章主要介绍开发元服务卡片时,如何实现从卡片中点击事件跳转到指定的应用内页面,并传递参数接受参数功能。此处以JS UI开发服务卡片为例,JS卡片支持组件设置action,包括router事件和message事件,其中router事件用于应用跳转,message事件用于卡片开发人员自定义点击事件,本篇文章介绍如何通过设置router事件实现跳转指定页面,并携带参数接受参数功能。

【开发步骤】

步骤1:在卡片的index.html页面中定义两个文本,点击“跳转index”实现跳转到index页面,点击“跳转sceond”实现跳转second页面,给两个文本绑定点击事件,如下图所示:

cke_5489.png

步骤2:在index.json设置routerEvent和routerEvent2事件,并在data中定义params1和params2参数,在routerEvent跳转页面事件中传入需要传递的动态参数,传入各字段说明如下:

1、action设置事件类型,固定“router”跳转事件;

2、want字段中存放跳转的页面信息,其中:

1)bundleName为应用包名;

2)abilityName为卡片提供方应用的跳转目标Ability名;

3)parameters中url设置跳转的页面路径,传入的参数可通过key-value方式传递,若需要传入固定值直接写对应值即可,若需要传入动态参数可写成{{params1}},注意{{xxx}}中的名称与data中定义的名称需相同;

cke_6403.png

步骤3:在index.js与second.js中通过featureAbility.getWant()接口获取传入的数据,并进行解析,参考如下:

import featureAbility from '@ohos.ability.featureAbility';featureAbility.getWant().then((data) => {console.info("data:" + JSON.stringify(data))let paramters = data.parameters;console.info("title: " + paramters.title)console.info("params1: " + paramters.params1)
})

这样就实现了卡片点击事件跳转不同页面并传参功能。

【服务卡片开发相关文档】

(3.0)服务卡片开发指导(包含基于JS UI和Java UI开发卡片):https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ability-service-widget-overview-0000001062607955

(3.0)Java服务卡片JS UI组件:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-service-widget-file-0000001153028529

(3.1/4.0)FA模型服务卡片开发指导:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/widget-development-fa-0000001427902244-V3

(3.1/4.0)Stage模型服务卡片开发指导:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/service-widget-overview-0000001536226057-V3

http://www.lryc.cn/news/207943.html

相关文章:

  • Centos安装RabbitMQ,JavaSpring发送RabbitMQ延迟延时消息,JavaSpring消费RabbitMQ消息
  • leetcode:1323. 6 和 9 组成的最大数字(python3解法)
  • SpringBoot集成Redis Cluster集群(附带Linux部署Redis Cluster高可用集群)
  • LLaVA:visual instruction tuning
  • Python实现双目标定、畸变矫正、立体矫正
  • showdoc 文件上传 (cnvd-2020-26585)
  • Java数据类型,变量与运算符
  • Linux nm命令
  • iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
  • OpenCamera拍照的代码流程
  • 华为OD机考算法题:矩阵最大值
  • 【Javascript】函数之形参与实参
  • PAT 乙级1090危险品装箱
  • Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息
  • 测试C#调用Vlc.DotNet组件播放视频
  • JS的事件委托(Event Delegation)
  • selenium+python自动化安装驱动 碰到的问题
  • laravel+vue2 element 一套项目级医院手术麻醉信息系统源码
  • GEE——使用MODIS GPP和LAI数据进行一元线性回归计算和R2分析
  • [论文阅读]Point Density-Aware Voxels for LiDAR 3D Object Detection(PDV)
  • 自动化学报格式 Overleaf 在线使用 【2023最新教程】
  • 掌握CSS动画技巧:打造引人注目的页面过渡效果!
  • 薛定谔的猫重出江湖?法国初创公司AliceBob研发猫态量子比特
  • 18亿欧元大动作,法国瞄准实现量子飞跃
  • 写保护设置——三、I2C EEPROM
  • 【嵌入式】HC32F07X ADC采样及软件滤波
  • VSCode snippets
  • openEuler 22.03 LTS 环境使用 Docker Compose 一键部署 JumpServer (all-in-one 模式)
  • 宏电5G RedCap工业智能网关获首个中国移动5G物联网开放实验室5G及轻量化产品能力认证
  • MySQL查询今日、昨日、最近七天的数据