如何解决vue 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));

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

以上这篇解决vue A对象赋值给B对象,修改B属性会影响到A的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
如何解决ElementUI组件中el-upload上传图片不显示问题

element upload 钩子函数的坑及如何解决

Vue打包后页面出现空白如何解决办法

vue3.x如何使用swiperUI动态加载图片失败的如何解决方法

如何解决router.beforeEach()动态加载路由出现死循环问题