HarmonyOS 鸿蒙Next页面传值跳转
HarmonyOS 鸿蒙Next页面传值跳转
介绍
本篇主要介绍如何在HarmonyOS中,在页面跳转之间如何传值
HarmonyOS 的页面指的是带有@Entry装饰器的文件,其不能独自存在,必须依赖UIAbility这样的组件容器
如下是官方关于State模型开发模式下的应用包结构示意图,Page就是带有@Entry装饰器的文件
那么在页面跳转时,在代码层面最长路径其实是有两步 1,打开UIAbility 2. 打开Page
整体交互效果
传值理论
1. 基于LocalStorage
2. 基于EventHub
3. 基于router
准备
请参照官方指导,创建一个Demo工程,选择Stage模型
代码实践
1. 定制主入口页面
功能
- 页面曝光停留时长计算
- 增加进入二级页面入口
2. 添加二级页面
注意
OpenPage.ets需要在main_pages.json中的注册
功能
- 展示主入口页面停留时间
- 添加通过UIAbility方式打开页面的入口
- 添加通过router.pushUrl方式打开页面的入口
3. 添加三级页面
注意
先要添加注册一个新的容器,这里命名为:LocalStorageAbility.ets 容器需要在module.json5中声明
功能
- 展示基于LocalStorage,EventHub,router 三种传值方式的数据
LocalStorageAbilityPage.ets 文件 - 展示LocalStorage,EventHub方式的数据
更多关于HarmonyOS 鸿蒙Next页面传值跳转的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next页面传值跳转的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)中,页面传值跳转通常通过Intent
对象实现。以下是具体步骤:
-
创建Intent对象:
Intent intent = new Intent();
-
设置目标页面:
intent.setElement(new ElementName("目标页面的BundleName", "目标页面的AbilityName"));
-
传递参数:
intent.setParam("key", "value");
-
启动目标页面:
startAbility(intent);
-
在目标页面接收参数:
String value = getIntent().getStringParam("key");