由于写惯了后台代码,对于前端中A对象赋值给B对象,修改B属性会影响到A问题开始以为会像后台代码一样重新创建一个引用对象。

实际在vue中  this.A = this.B,没有进行深层赋值,只是把this.A的地址指向了与this.B相同的地址,所有对于A的修改会影响到B。

解决相互影响的思路是在this.A必须是新建的一个对象,这样才能保证不被指向同一地址,属性修改不会相互影响。

解决方式:     this.A=JSON.parse(JSON.stringify(this.B));

将对象转成字符串剔除对象属性后,再转换成对象赋值,这样能解决指向相同地址修改会相互影响的问题。

Logo

前往低代码交流专区

更多推荐