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

1 回复

更多关于HarmonyOS 鸿蒙Next页面传值跳转的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)中,页面传值跳转通常通过Intent对象实现。以下是具体步骤:

  1. 创建Intent对象:

    Intent intent = new Intent();
    
  2. 设置目标页面:

    intent.setElement(new ElementName("目标页面的BundleName", "目标页面的AbilityName"));
    
  3. 传递参数:

    intent.setParam("key", "value");
    
  4. 启动目标页面:

    startAbility(intent);
    
  5. 在目标页面接收参数:

    String value = getIntent().getStringParam("key");
    
回到顶部