HarmonyOS 无法使用class-transformer中的@Type注解
定义嵌套类型,代码如下:
import { Type, Expose, instanceToPlain, plainToClass, instanceToInstance } from 'class-transformer';  
export class User {  
  @Expose({name: 'user_id'})  
  uid: number = 0;  
  @Expose({name: 'user_name'})  
  userName: string = '';  
  @Expose({name: 'source_type'})  
  sourceType: string = '';  
  @Expose({name: 'is_leader'})  
  isLeader: boolean = false;  
  @Expose({name: 'role_name'})  
  roleName: string = '';  
  constructor(id: number, name: string, type: string, isLeader: boolean, roleName: string) {  
    this.uid = id;  
    this.userName = name;  
    this.sourceType = type;  
    this.isLeader = isLeader;  
    this.roleName = roleName;  
  }  
  static fromPlain(plain: object): User {  
    return plainToClass(User, plain);  
  }  
  toJson(): string {  
    return JSON.stringify(instanceToPlain(this));  
  }  
}  
export class UserResponse {  
  @Type(() => User)  
  user: User;  
  constructor(user: User) {  
    this.user = user;  
  }  
  static fromPlain(plain: object): UserResponse {  
    return plainToClass(UserResponse, plain);  
  }  
  toJson(): string {  
    return JSON.stringify(instanceToPlain(this));  
  }  
}运行程序报错:
Pid:34987  
Uid:20020002  
Reason:TypeError  
Error name:TypeError  
Error message:is not callable  
SourceCode:  
        var reflectedType = Reflect.getMetadata('design:type', target, propertyName);  
                            ^  
Stacktrace:  
SourceMap is not initialized yet   
    at anonymous (oh_modules/.ohpm/class-transformer@0.5.1/oh_modules/class-transformer/esm5/decorators/type.decorator.js:11:29)  
    at func_main_0 (commons/datastore/src/main/ets/model/User.ets:1:1)
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS class-transformer expose注解嵌套对象失效 
1604浏览  • 2回复 待解决
HarmonyOS class-transformer问题 
1857浏览  • 1回复 待解决
HarmonyOS 最新版Bate2新增的@Type和现有class-transformer里面的@Type冲突 
998浏览  • 1回复 待解决
HarmonyOS class-transformer三方库Json转class 
1332浏览  • 1回复 待解决
HarmonyOS 使用 class-transformer 库做反序列化,@Type 会引发崩溃,且堆栈不相关 
954浏览  • 1回复 待解决
HarmonyOS 使用class-transformer将json对象转成class实例时,会存在性能问题? 
1162浏览  • 1回复 待解决
父类包含子类列表使用class-transformer进行discriminator会启动崩溃 
2177浏览  • 1回复 待解决
HarmonyOS 使用class-transformer和@Expose注解在嵌套对象场景下,如何实现序列化与反序列化。 
1520浏览  • 1回复 待解决
HarmonyOS  网络层data是泛型,如何使用"class-transformer"和reflect-metadata" 
1233浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS项目中使用class-transformer进行对象传递? 
1963浏览  • 1回复 待解决
HarmonyOS 普通的class文件中,无法弹出dialog 
956浏览  • 1回复 待解决
HarmonyOS DevEco升级至最新版后@Type注解识别有误 
1162浏览  • 1回复 待解决
HarmonyOS 使用了@Sendable注解的类报错 
1504浏览  • 1回复 待解决
HarmonyOS 如何在ArkTS中使用注解? 
1502浏览  • 1回复 待解决
HarmonyOS  java中的Class<? extends IModuleApi> 使用ArkTS如何翻译? 
1186浏览  • 1回复 待解决
ArkTS 中 使用 abstract class 会被 lint 报错 
1851浏览  • 1回复 待解决
HarmonyOS中有类似 java中SerializedName 得注解吗? 
1635浏览  • 1回复 待解决
嵌套Class的属性变化无法触发UI渲染 
1255浏览  • 1回复 待解决
HarmonyOS 在ArkTS中,想要将JSON 转为Class后,Class 中的function 方法丢失了 
1370浏览  • 1回复 待解决
HarmonyOS @State修饰的class变量没有嵌套的值无法监听 
1274浏览  • 1回复 待解决
HarmonyOS class中显示CustomDialog 
893浏览  • 1回复 待解决
HarmonyOS promptAction.openCustomDialog可以在class中的工具类中使用吗 
926浏览  • 1回复 待解决
NavPathStack对象可以在class中获取并且使用吗? 
1229浏览  • 1回复 待解决





















使用@Type装饰器的时候,确保引入reflect-metadata。在ability里import reflect-metadata。