鸿蒙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

未完,待续

相关推荐
ChinaDragonDreamer7 小时前
HarmonyOS:状态管理最佳实践
harmonyos·鸿蒙
ChinaDragonDreamer14 小时前
HarmonyOS:ForEach:循环渲染
harmonyos·鸿蒙
cdblh3 天前
【NEXT】网络编程——上传文件(不限于jpg/png/pdf/txt/doc等),或请求参数值是file类型时,调用在线服务接口
鸿蒙·deveco studio·harmonyos next
ChinaDragonDreamer7 天前
HarmonyOS:创建应用静态快捷方式
harmonyos·鸿蒙
我能与泰森过两招8 天前
鸿蒙next 自定义日历组件
typescript·harmonyos·鸿蒙
SuperHeroWu713 天前
【HarmonyOS NEXT】鸿蒙三方应用跳转到系统浏览器
华为·harmonyos·鸿蒙·跳转·系统浏览器·openlink·三方应用
电子小子洋酱13 天前
基于EMQX+MQTT+ESP32+Openharmony的开发实例
单片机·嵌入式硬件·物联网·harmonyos·鸿蒙
89315196014 天前
《鸿蒙开发-鸿蒙教程-答案之书》组件margin左和右等于没偏?
harmonyos·鸿蒙·鸿蒙系统·鸿蒙开发·鸿蒙教程·鸿蒙答案之书·鸿蒙margin
证卡识读张工14 天前
中软高科鸿蒙Next身份证读卡SDK集成说明
华为·harmonyos·鸿蒙·鸿蒙系统
假装自己很用心14 天前
鸿蒙动态路由实现方案
华为·harmonyos·arkts·鸿蒙