2017-08-12 29 views
1

我想深入複製一個FormGroup對象,它是FormArray對象中的一個條目。如何在Angular2 Reactive Forms中深度複製FormArray條目

我使用推薦的方式在打字稿中深度複製對象,但它仍指向原始對象引用。 我可以通過逐個複製每一個字段來解決問題。但我想知道是否有更好的方法來實現這一點。

這裏是我的代碼,該註釋行是預期它沒有執行深拷貝行爲之一:

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(); 
} 

回答