在vue项目中,遇到一个小问题,前端需要将后台接口传过来的数据展示在界面中,然后需要修改这个数据的时候,源数据也会发生变化,要避免源数据发生变化,则使用Object.assign即可
问题原因
简单的赋值并没有创建一个新的对象内存地址,只是把新的数据的内存地址指向了旧的数据的内存地址
//拷贝obj的内容到一个新的堆内存,copyObj存储新内存的引用
let newData = Object.assign({}, oldData)
2024-10-24 16:40:54
在vue项目中,遇到一个小问题,前端需要将后台接口传过来的数据展示在界面中,然后需要修改这个数据的时候,源数据也会发生变化,要避免源数据发生变化,则使用Object.assign即可
简单的赋值并没有创建一个新的对象内存地址,只是把新的数据的内存地址指向了旧的数据的内存地址
//拷贝obj的内容到一个新的堆内存,copyObj存储新内存的引用
let newData = Object.assign({}, oldData)