原因是对象是引用类型,传递的是引用地址,所以你两个数组引用的是同一个对象,只要其中一个数组改变,就会导致对象改变,进而另一个引用的数组也会改。
解决办法就是将需要放入数组的对象先深拷贝一份,用拷贝的对象,这样就不存在引用关系了。
//data是传递过来的对象
const newData = Object.assign({}, JSON.parse(JSON.stringify(data)))
this.goodsForm.skus.push(newData)
修改数组里的值,用this.goodsForm.skus[index]=newData是修改不了的,可以用 this.$set( this.goodsForm.skus, index, newData)
网友评论