Angular 2:Array.push无法正常工作

Angular 2:Array.push无法正常工作

问题描述:

当我将项目推入数组时,项目被推入,但问题是数组中的所有项目都与最后一个项目推送相同。Angular 2:Array.push无法正常工作

pushspecification() { 
     this.specificationSaveDetailList.push(this.specificationsaveDetail); 
    } 

这里是plunker代码:plunker_Code
在该plunker实施例I从下拉菜单中选择项目,并提供描述,并单击按钮添加和表被填充有数组项。

因为你是绑定推动相同的对象与其对数组元素的引用。因此,当您更新specificationsaveDetail对象引用时,它将更新数组的所有元素,因为它们是相同元素的引用。

为了使它工作,您必须创建一个新的对象副本并将其推入数组中。那时,同样可以使用Object.assign

pushspecification() { 
    this.specificationSaveDetailList.push(Object.assign({}, this.specificationsaveDetail)); 
} 

Demo Plunker

+0

谢谢。这工作。 – Amir

+0

@Amir很高兴知道,谢谢:) –