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

未完,待续

相关推荐
遇到困难睡大觉哈哈7 小时前
HarmonyOS 音频录制与播放模块
华为·音视频·harmonyos·鸿蒙
星之卡比*10 小时前
前端知识点---路由模式-实例模式和单例模式(ts)
鸿蒙
沧海一笑-dj10 小时前
【鸿蒙开发】OpenHarmony调测工具hdc使用教程(应用开发者)
华为·harmonyos·鸿蒙·openharmony·hdc·调测工具
星之卡比*20 小时前
前端知识点---库和包的概念
前端·harmonyos·鸿蒙
Wezarp3 天前
鸿蒙开发 - 键盘避让
ui·华为·harmonyos·鸿蒙·虚拟软键盘
jian110584 天前
鸿蒙Android4个脚有脚线
华为·harmonyos·鸿蒙
来之梦7 天前
鸿蒙自定义组件预览
鸿蒙
北京迅为9 天前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第4章 UART基础知识
人工智能·嵌入式硬件·harmonyos·鸿蒙·rk3568
北京迅为9 天前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第3章 实操-HDF驱动配置LED
linux·嵌入式硬件·鸿蒙·openharmony·rk3568
电子小子洋酱10 天前
ESP32移植Openharmony外设篇(9)NB-IOT
单片机·物联网·华为·harmonyos·鸿蒙