鸿蒙HarmonyOS之跳转页面并传递参数的方法

一、使用router路由跳转页面并携带参数

1、导入库

复制代码
import router from '@kit.ArkUI';

2、跳转页面并携带参数

复制代码
export class ActivityResponse {
......
}

(1)携带多个参数

复制代码
router.pushUrl({
      url: 'pages/NextPage',
      params: {
            name: '名字', //string类型
            avator: '头像', //string类型
            size: 大小, //number类型
            responsedata: '某个对象数据' //ActivityResponse类型
      }
})

NextPage页解析:

复制代码
private responseData: ActivityResponse = new ActivityResponse();
private name: string = ''
private avator: string = ''
private size: number = 0
  
......
  
let params = router.getParams() as Record<string, number | string | ActivityResponse>;
this.responseData= params.result as ActivityResponse;
this.name= params.uri as string;
this.avator= params.infoW as string;
this.size= params.infoH as number;

(2)携带一个参数,参数是类对象

在参数过多的情况下,可以将传递的参数封装为类,以对象方式传递更方便接收解析

复制代码
private curr_data: ActivityResponse = new ActivityResponse();
......
router.pushUrl({
	url: 'pages/NextPage',
    params: this.curr_data
},router.RouterMode.Standard,(err)=>{
    if (err) {
      console.error(`跳转页面失败, code is ${err.code}, message is ${err.message}`);
      return;
    }
  })

NextPage页解析:

复制代码
this.params = router.getParams() as ActivityResponse;

二、使用navigation

未完,待续

相关推荐
HarmonyOS小助手4 小时前
【案例+1】HarmonyOS官方模板优秀案例 第7期:金融理财 · 记账应用
harmonyos·鸿蒙·鸿蒙生态
HarmonyOS小助手1 天前
HEIF:更高质量、更小体积,开启 HarmonyOS 图像新体验
harmonyos·鸿蒙·鸿蒙生态
leon_teacher5 天前
ArkUI核心功能组件使用
android·java·开发语言·javascript·harmonyos·鸿蒙
开发小能手嗨啊6 天前
鸿蒙开发进阶(HarmonyOS)
harmonyos·鸿蒙·鸿蒙开发·开发教程·纯血鸿蒙·南向开发·北向开发
HarmonyOS小助手6 天前
CodeGenie 的 AI 辅助调优让你问题定位效率大幅提升
harmonyos·鸿蒙·鸿蒙生态
HarmonyOS小助手6 天前
《音频焦点管理》最佳实践:让鸿蒙应用中的每一段声音,都不被打扰
harmonyos·鸿蒙·鸿蒙生态
HarmonyOS小助手7 天前
H5 页面加载终于不转圈了!FastWeb 组件让加载快到起飞
harmonyos·鸿蒙·鸿蒙生态
卖n-bomb的小男孩7 天前
鸿蒙地址选择库(ArkTs UI)
鸿蒙
森之鸟7 天前
鸿蒙创新赛活动——Mac提交压缩失败后续
macos·鸿蒙