2017-11-21 17 views
0

typescriptです深いコピーすることができますは、どのように私はtypescriptです内のオブジェクトを持っている

export class A { 
public var1: boolean = false; 
public var2: boolean = false; 
public b: B = new B(); 

}

export class B { 
    public v: boolean = false; 
} 

をと宣言し、存在してオブジェクト:

... 
public a: A = new A(); 
... 

私はjQueryのを使用する場合:

const myCopy: A = $.extend(true, {}, this.a); 
this.a.b.v = true; 

変数オブジェクトthis.aを変更すると、コピーの変更が表示されます。 どうすればこのような状況でディープコピーを行うことができますか?

答えて

1

あなたはトリプル使用することができます...

let b = new A(); 
const mCopy = {...b}; 

またはあなたが))

const mCopy = JSON.parse(JSON.stringify(targetを解析したJSON文字列化とJSONを使用することができます。

+0

元のオブジェクト(A)のオブジェクト(B)でブール値をtrueに変更すると、コピーではこの変更が表示されます。 –

+0

json stringifyとjson parseを試すことができます –

関連する問題