使用getter进行Angular v2 + typescript深度复制/克隆

问题描述 投票:1回答:1

如何复制/克隆typescript类?父类包含嵌套类,也包含嵌套类的集合。每种类型都包含一个getter。我想如果复制的类没有丢失getter,嵌套类和数组项都有一个新的引用。

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

这是类的结构

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>;  
}
angular typescript deep-copy
1个回答
1
投票

另一种使用qazxsw poi使用以下lodash qazxsw poi方法深度复制对象的方法

getter & setter

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.