Vue使用scope修改传递的数据时,源数据也发生变化解决办法(深拷贝浅拷贝)

修改试题列表里面的试题

 你会发现直接使用scope.row形成修改数据的变量后。

  this.questionsEditData = scope.row

当你去修数据之后,会发现源数据也会发生变化。

红色框框里面的数据也会发生变化,就是因为,我们赋值利用的是浅拷贝,指向的是地址,所以修改后 源数据也发生了变化。

那么怎么解决这个问题呢?

let row = JSON.parse(JSON.stringify(scope.row))
this.questionsEditData = row

 

我们这样进行赋值(深拷贝),新建立一块地址存储数据, 这样修改数据后就不会影响源数据。

完美!

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读