一般出现这种问题是因为vue在利用=赋值时,是一种浅拷贝的方式,它是将等号右边的数据的引用给了等号左边的变量,这也导致了改变等号左边的数据时右边数据也发送变化,从而影响页面数据。
最简单有效的方式就是进行深拷贝,它会在堆中新开辟一块内存将数据放进去,然后把这块内存的引用给了左边的变量,从而不会出现更新数据页面数据也发生变化的情况。
简单的深拷贝
this.vehicleChangeData = JSON.parse(JSON.stringify(this.vehicleChange));
一般出现这种问题是因为vue在利用=赋值时,是一种浅拷贝的方式,它是将等号右边的数据的引用给了等号左边的变量,这也导致了改变等号左边的数据时右边数据也发送变化,从而影响页面数据。
最简单有效的方式就是进行深拷贝,它会在堆中新开辟一块内存将数据放进去,然后把这块内存的引用给了左边的变量,从而不会出现更新数据页面数据也发生变化的情况。
简单的深拷贝
this.vehicleChangeData = JSON.parse(JSON.stringify(this.vehicleChange));