#鸿蒙通关秘籍#如何在HarmonyOS NEXT中利用Navigation实现对象传递?

HarmonyOS
2024-12-06 13:54:28
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
系统小高手

在HarmonyOS NEXT开发中,可以使用Navigation进行页面跳转并传递类对象,实现的关键步骤如下:

  1. oh-package.json5中添加class-transformer库的依赖:

    "dependencies": {
        "class-transformer": "^0.5.1"
    }
    
  2. 在页面中导入class-transformer

    import { plainToClass } from "class-transformer";
    
  3. 定义需要传递的类,比如UserBookingInfo类:

    export class UserBookingInfo {
      userName: string = '张山';
      userID: string = '332045199008120045';
      date: string = '1月1日';
      seatNo: number = 0;
      price: number = 200;
    
      constructor(name: string, id: string, date: string) {
        this.userName = name;
        this.userID = id;
        this.date = date;
      }
    
      generateRandSeatNo(): number {
        this.seatNo = Math.floor(Math.random() * (200 - 1) + 1);
        return this.seatNo;
      }
    }
    
  4. 在接收页面,通过plainToClass方法将传入的参数转化为类对象:

    let bookingString: string = this.pageStack.getParamByName('NavigationParameterTransfer')[0] as string;
    let userBookingTmp: UserBookingInfo = JSON.parse(bookingString);
    this.userBooking = plainToClass(UserBookingInfo, userBookingTmp);
    

通过上述步骤,成功利用class-transformer将页面间传递的参数转化为可调用的方法类对象,实现页面间对象传递。

分享
微博
QQ
微信
回复
2024-12-06 15:54:10
相关问题
如何实现ArkTS与C/C++的对象传递
842浏览 • 1回复 待解决