Vue.js Vuejs模型向多个模型插入数据
我已经创建了动态属性,Vue.js Vuejs模型向多个模型插入数据,vue.js,vuejs2,Vue.js,Vuejs2,我已经创建了动态属性, 阵列中有三个产品,每个产品都有自己的属性。 最初一切正常,一旦我运行“复制属性”代码将属性复制到所有其他产品,输入模型也开始将模型值插入所有其他属性。 for(let i in this.products) { if(i != this.product_active) { this.products[i].attributes = this.products[this.product_active].attributes } } 以下是我为这个问题制作的
阵列中有三个产品,每个产品都有自己的属性。
最初一切正常,一旦我运行“复制属性”代码将属性复制到所有其他产品,输入模型也开始将模型值插入所有其他属性。
for(let i in this.products) {
if(i != this.product_active) {
this.products[i].attributes = this.products[this.product_active].attributes
}
}
以下是我为这个问题制作的小提琴:在这个提琴中,您将看到三个具有自己属性的产品(输入模型工作正常), 现在按“复制属性”按钮,活动产品的属性也将复制到其他产品。
现在输入数据到任何产品,输入模型将输入相同的数据到所有产品,而不是选定的产品。它完全忽略所选产品。
我的代码有问题吗?您将相同的attributes对象复制到所有三种产品,因此属性是共享的。 相反,您应该在复制时创建对象的新副本,例如。G如下所示:
您将相同的attributes对象复制到所有三个产品,因此属性是共享的。 相反,您应该在复制时创建对象的新副本,例如。G如下所示:
谢谢你,工作很有魅力。以前不知道spread语法:)谢谢,工作很有魅力。以前不知道spread语法:)
for(let i in this.products) {
if(i != this.product_active) {
this.products[i].attributes = {... this.products[this.product_active].attributes}
}
}