vue中把一个数据赋给2个变量 一个变量改变该数据 另一个变量里的数据会一起变
作者:互联网
1. 假如数据 let a = [{name: 'aaaaa', age: 10}]
2. this.a = a
this.b = a
此时改变this.a = [{name: 'aaaaa', age: 11}]
this.b也为 [{name: 'aaaaa', age: 11}]
解决方法:
this.a = JSON.parse(JSON.stringify(arr))
this.b = JSON.parse(JSON.stringify(arr))
原因:
这里的a在js中是引用类型,赋予的不是值,而是引用的地址 引用类型this.a = a,this.b = b;
此时this.a和this.b都指向了a,但不代表分成两份a.name=2,a.age || b.name,b.age 所以
为了实现“分成两份”参考浅拷贝与深拷贝 看上解决方法
标签:arr,vue,变量,age,parse,JSON,aaaaa,数据,name 来源: https://www.cnblogs.com/webxj/p/16518363.html