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}
    }
}