2017-08-12 10 views
1

FormArrayオブジェクトのエントリであるFormGroupオブジェクトを詳細にコピーしたいと思います。FormArrayエントリをAngular2のリアクティブフォームでディープコピーする方法

オブジェクトをタイプコピーでディープコピーする推奨方法を使用していますが、依然として元のオブジェクト参照を指しています。 私はすべての単一のフィールドを1つずつコピーすることで問題を解決できました。しかし、これを達成するためのより良いアプローチがあるかどうかを知りたいと思います。ここで

はコメント行が期待通りに深いコピー動作を実行しなかった一つであり、私のコードです:

edit(i):void{ 
this.activeEntry=i; 
const mycontrol = <FormArray>this.languagesForm.controls['languages']; 
const mylanguage=<FormGroup>mycontrol.get([i]); 
//this.languageEditForm = Object.assign(new FormGroup({}),<FormGroup>mycontrol.get([i])); 
this.languageEditForm = this.fb.group({ 
    name:mylanguage.get('name').value, 
    type:mylanguage.get('type').value, 
    listening:mylanguage.get('listening').value, 
    reading:mylanguage.get('reading').value, 
    speaking:mylanguage.get('speaking').value, 
    writing:mylanguage.get('writing').value 
}); 
console.log(this.languageEditForm.value); 
this.showDialog(); 
} 

答えて

関連する問題