最近接到个编辑页面的需求,重置按钮需要实现点击之后恢复表单展示的页面,最开始的思路是:将赋值一个新对象,然后点击重置按钮,让新对象的值替换到老数据。
第一次点击成功实现,测试时发现,第二次就无效了,思考了一下发现,对象是引用数据类型,那么一旦改变,堆内存地址中的数据都会改变,这样就不是固定存储了,只能实现一次重置。
解决方式:因为数据结构简单,使用浅拷贝即可。
浅拷贝代码
var obj = {...obj}
var obj = Object.assign({},obj)
最近接到个编辑页面的需求,重置按钮需要实现点击之后恢复表单展示的页面,最开始的思路是:将赋值一个新对象,然后点击重置按钮,让新对象的值替换到老数据。
第一次点击成功实现,测试时发现,第二次就无效了,思考了一下发现,对象是引用数据类型,那么一旦改变,堆内存地址中的数据都会改变,这样就不是固定存储了,只能实现一次重置。
解决方式:因为数据结构简单,使用浅拷贝即可。
浅拷贝代码
var obj = {...obj}
var obj = Object.assign({},obj)