我们可以通过this.$data
获取当前状态下的data,通过this.$options.data()
获取该组件初始状态下的data。然后只要使用Object.assign(this.$data, this.$options.data())
就可以将当前状态的data重置为初始状态了。
ps: Object.assign()
合并对象时,同名属性,后边的会覆盖前边的。
---------------------------分割线---------------------------------------------------------------
data()中若使用了this来访问props或methods或全局方法,在重置data时,注意this.options.data()的this指向,最好使用this.$options.data.call(this),否则会报方法undefined.
Object.assign(this.$data, this.$options.data.call(this))