gpt4 book ai didi

javascript - Angular 2 : Array. 推送无法正常工作

转载 作者:太空狗 更新时间:2023-10-29 18:13:51 25 4
gpt4 key购买 nike

当我将项目插入数组时,项目被插入但问题是数组中的所有项目都与最后插入的项目相同。

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

这是插件代码:plunker_Code
在这个 plunker 示例中,我从下拉列表中选择项目并提供描述,然后单击添加按钮,表中填充了数组项目。

最佳答案

因为您正在绑定(bind)推送同一个对象及其对数组元素的引用。因此,当您更新 specificationsaveDetail 对象引用时,它会更新数组的所有元素,因为它们是同一元素的引用。

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

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

Demo Plunker

关于javascript - Angular 2 : Array. 推送无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41787867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com