Vue创建非引用类型的对象
本文最后更新于:2024年3月18日 晚上
场景描述
在Vue的data中定义了一个对象,在将该对象传输给后端时需要做一些修改,因此新建了一个对象让他等于该对象,之后对新建的对象进行修改,此时会导致原有对象的属性也会改变。
显示的页面
1 |
|
JS
1 |
|
显示效果
问题描述
可以看到,在update方法中新设了一个对象,之后对该对象进行了修改,而呈现的结果是原对象仍然也发生了改变
问题解决
使用JSON.parse()
和JSON.stringify()
方法来创建对象
1 |
|
拓展
对于深拷贝和浅拷贝,以及该问题的其他实现方法(第三方库Lodash)参考文章
在vue中子组件修改props引发的对js深拷贝和浅拷贝的思考 - 沉默术士 - 博客园 (cnblogs.com)
Vue创建非引用类型的对象
http://starnight.top/2023/11/01/Vue创建非引用类型的对象/