Vue使用scope修改传递的数据时,源数据也发生变化解决办法(深拷贝浅拷贝)
修改试题列表里面的试题你会发现直接使用scope.row形成修改数据的变量后。this.questionsEditData = scope.row当你去修数据之后,会发现源数据也会发生变化。红色框框里面的数据也会发生变化,就是因为,我们赋值利用的是浅拷贝,指向的是地址,所以修改后源数据也发生了变化。那么怎么解决这个问题呢?let row = JSON.parse(JSON.stringify(sc
·
修改试题列表里面的试题


你会发现直接使用scope.row形成修改数据的变量后。
this.questionsEditData = scope.row
当你去修数据之后,会发现源数据也会发生变化。

红色框框里面的数据也会发生变化,就是因为,我们赋值利用的是浅拷贝,指向的是地址,所以修改后 源数据也发生了变化。
那么怎么解决这个问题呢?
let row = JSON.parse(JSON.stringify(scope.row))
this.questionsEditData = row
我们这样进行赋值(深拷贝),新建立一块地址存储数据, 这样修改数据后就不会影响源数据。
完美!
更多推荐



所有评论(0)