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

未完,待续

相关推荐
鸿蒙自习室9 小时前
鸿蒙多线程开发——线程间数据通信对象02
ui·harmonyos·鸿蒙
SuperHeroWu711 小时前
【HarmonyOS】鸿蒙应用接入微博分享
华为·harmonyos·鸿蒙·微博·微博分享·微博sdk集成·sdk集成
郝晨妤1 天前
鸿蒙原生应用开发元服务 元服务是什么?和App的关系?(保姆级步骤)
android·ios·华为od·华为·华为云·harmonyos·鸿蒙
Peace*1 天前
HarmonyOs鸿蒙开发实战(16)=>沉浸式效果第一种方案一窗口全屏布局方案
harmonyos·鸿蒙·鸿蒙系统
遇到困难睡大觉哈哈2 天前
ArkTS组件结构和状态管理
鸿蒙
ChinaDragonDreamer2 天前
HarmonyOS:UIAbility组件间交互(设备内)
开发语言·harmonyos·鸿蒙
ChinaDragonDreamer3 天前
HarmonyOS:使用常用组件构建页面
开发语言·harmonyos·鸿蒙
鸿蒙自习室4 天前
鸿蒙动画开发07——粒子动画
ui·华为·harmonyos·鸿蒙
少恭写代码4 天前
Taro首个支持鸿蒙的 UI 库,同时还兼容 React Native、小程序、H5
react native·鸿蒙·taro·duxapp
zhongcx015 天前
鸿蒙NEXT开发案例:计数器
华为·harmonyos·鸿蒙·鸿蒙next