解决vue A对象赋值给B对象,修改B属性会影响到A的问题
程序员文章站
2022-04-10 22:09:57
实际在vue中 this.a = this.b,没有进行深层赋值,只是把this.a的地址指向了与this.b相同的地址,所有对于a的修改会影响到b。
解决相互影响的思路...
实际在vue中 this.a = this.b,没有进行深层赋值,只是把this.a的地址指向了与this.b相同的地址,所有对于a的修改会影响到b。
解决相互影响的思路是在this.a必须是新建的一个对象,这样才能保证不被指向同一地址,属性修改不会相互影响。
解决方式:
this.a=json.parse(json.stringify(this.b));
将对象转成字符串剔除对象属性后,再转换成对象赋值,这样能解决指向相同地址修改会相互影响的问题。
以上这篇解决vue a对象赋值给b对象,修改b属性会影响到a的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。