父类包含子类列表使用class-transformer进行discriminator会启动崩溃
父类包含子类列表使用class-transformer进行discriminator会启动崩溃,提示:Error message:B is not initializedSourceCode:{ value: B, name: ‘b’ },
代码如下:
//定义 
export class A { 
  type:string = ‘b’ 
  @Type(() => A,myDiscriminator()) 
  components?: B[] 
} 
 
export class B extends A { 
} 
 
export function myDiscriminator(): ESObject { 
  return { 
    keepDiscriminatorProperty: true, 
    discriminator: { property: ‘type’, 
      subTypes: [ 
        { value: B, name: ‘b’ }, 
      ], 
    } 
  } 
} 
 
//在另一个文件使用 
let a = plainToClass(A, json)
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS class-transformer问题 
1857浏览  • 1回复 待解决
HarmonyOS 使用 class-transformer 库做反序列化,@Type 会引发崩溃,且堆栈不相关 
954浏览  • 1回复 待解决
HarmonyOS class-transformer三方库Json转class 
1332浏览  • 1回复 待解决
HarmonyOS class-transformer expose注解嵌套对象失效 
1611浏览  • 2回复 待解决
HarmonyOS 无法使用class-transformer中的@Type注解 
2697浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS项目中使用class-transformer进行对象传递? 
1963浏览  • 1回复 待解决
HarmonyOS 使用class-transformer将json对象转成class实例时,会存在性能问题? 
1162浏览  • 1回复 待解决
父类调用子类运行报错:“ is not initialized” 
4420浏览  • 1回复 待解决
HarmonyOS  网络层data是泛型,如何使用"class-transformer"和reflect-metadata" 
1237浏览  • 1回复 待解决
HarmonyOS 最新版Bate2新增的@Type和现有class-transformer里面的@Type冲突 
998浏览  • 1回复 待解决
HarmonyOS 使用class-transformer和@Expose注解在嵌套对象场景下,如何实现序列化与反序列化。 
1520浏览  • 1回复 待解决
ForEach下item是父类.如何动态获取不同子类的数据, 根据子类来区分item某些值 
2432浏览  • 1回复 待解决
Extension类进程崩溃是否会导致主进程崩溃 
3270浏览  • 1回复 待解决
HarmonyOS 带泛型的类定义继承之后,子类如何赋值给父类 
1389浏览  • 1回复 待解决
HarmonyOS父类的getter在子类没用,子类需要写一个一模一样,否则会返回undefined 
1135浏览  • 1回复 待解决
#鸿蒙通关秘籍#在编辑器中,如何快速在父类和子类之间跳转? 
1057浏览  • 1回复 待解决
HarmonyOS ijkplayer播放flv流,偶尔会崩溃,怎样进行cppcrash或者asan崩溃定位 
895浏览  • 1回复 待解决
HarmonyOS 子组件点击事件调用父组件方法,父组件的方法里面包含this.dialogController.open(),系统崩溃 
1023浏览  • 1回复 待解决
HarmonyOS @ComponentV2使用暗黑会崩溃 
976浏览  • 1回复 待解决
HarmonyOS 一个class传递属性崩溃 
1079浏览  • 1回复 待解决
进行长列表开发的时候发现使用ForEach会导致性能问题,如何去进行优化或者规避? 
1407浏览  • 1回复 待解决
HarmonyOS 使用picker访问系统图库,选择云端资源,在主线程进行资源io操作,会崩溃 
732浏览  • 1回复 待解决





















该问题是因为class 跟function不一样,没有变量提升,可以把class B放在上面试试: