在开发中,使用深浅拷贝的频率是非常高的。
首先介绍自己,在开发过程中,遇到的一个问题。在更改后台返回的多条数据时,相同type的,只要更改一个就会出现相同类型的type都会改变,这就是联动。 是的,就是出现数据联动了。
一开始是以为自己的逻辑代码出现了问题,后来经过console.log以及集合console.log(),确认写的代码逻辑是没有问题的,之前自己对深拷贝是有了解的,说实话,在使用时,是很少使用的,所以就没有一个很深刻的认知,在更改数据时,就直接就是使用三点展开的形式,直接赋值更改。 这个就是出现了联动的原因,因为数据中,套有二级对象。 所以就出现了要使用深拷贝。
其实解决深拷贝的代码很简单,直接就是
var itemString = JSON.stringify(v);
var record = JSON.parse(itemString)
this.data.list.push(record);
还有解决深拷贝的其他办法,也可以使用,总之能解决深拷贝的问题就ok了。