Object.assign(this.$data, this.$options.data())
Object.assign()
方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。注意,
Object.assign()
是浅拷贝,并且具有相同属性的对象,同名属性,后边的会覆盖前边的。
Vue组件可能会有这样的需求:在某种情况下,需要重置Vue组件的data数据。由于Object.assign()有上述特性
此时,我们可以通过this.$data获取当前状态下的data,通过this.$options.data()获取该组件初始状态下的data。
然后只要使用Object.assign(this.$data, this.$options.data())就可以将当前状态的data重置为初始状态!