Angular v2 +打字稿深度复制/使用吸气剂克隆

如何复制/克隆打字稿类?父类包含一个嵌套类和一个嵌套类的集合。每种类型的类都包含一个吸气剂。我想如果复制的类没有丢失吸气剂,并且嵌套的类和数组项具有新的引用。

我的问题是,JSON.parse(JSON.stringify( obj ));没有复制吸气剂。Object.assign(target, soure);复制的吸气剂,但数组项保留原始引用。

这是类的结构

export interface IClassA {
  code: number;
  description: string;
}

export class ClassA implements IClassA {
  code: number;
  description: string;
  get descrAndCode() {
    return 'Getter A ' + this.description + ':' + this.code;
  }
}

export interface IClassB {
  name: string;
  code: number;
  classList: Array<ClassA>;
}

export class ClassB implements IClassB {
  name: string;
  code: number;
  get codeAndName(): string {
    return 'Getter B' + this.code + ':' + this.name;
  }
  nested: ClassA;
  classList: Array<ClassA>;  
}
帕拉姆

getter & setter使用以下lodashclonedeep()方法深深复制对象的一种方法

import * as cloneDeep from 'lodash/cloneDeep';
...
let foo = cloneDeep(bar);

希望这会有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章