欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue中使用data中的数据a给赋值给另外一个变量b,改变a或b的值,另一个对象也变化的解决方法

程序员文章站 2022-03-09 23:31:15
...

数组、对象、值都适用
参考

  • 在vue中 this.A = this.B,没有进行深层赋值,只是把this.A的地址指向了与this.B相同的地址,所有对于A的修改会影响到B
  • 解决相互影响的思路是在this.A必须是新建的一个对象,这样才能保证不被指向同一地址,属性修改不会相互影响。
 this.A=JSON.parse(JSON.stringify(this.B));
  • 1

将对象转成字符串剔除对象属性后,再转换成对象赋值,这样能解决指向相同地址修改会相互影响的问题。里面的this.A= JSON.parse(JSON.stringify(this.B)); 如果是直接this.A= this.B的话会把 this.A替换为this.B然后再把this.B赋值给this.A相当于 this.A= this.A所以先转json字符串 再转数组 然后赋值给this.A这样不会相互影响

 

相关标签: 前端知识点积累