在vue表单组件的使用我们经常会碰到初始化的问题,怎么解决呢?
可以使用清空data,怎么清空data呢?使用下面的方法:
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复刻到目标对象,它将返回目标对象
注意是浅拷贝,拷贝的是地址不是值,所以会覆盖原有的值。
data里面有很多属性,大多数初始化为null,但是有的初始化为数组,所以不能使用Object.key()遍历数组来清空,这时候可以使用VUE的两个值:
this.$data 为vue当前数组
this.$options.data() 为data初始化数组
那么如果要重置组件data内部的所有数据呢,一个一个清除很麻烦,可以使用下面这种方式:
Object.assign(this.$data, this.$options.data()
如果你再data中获取了router的传值:this.options.data()重置组件data时,data()里用this获取的props或method都为undefined,解决办法如下:
Object.assign(this.$data, this.$options.data.call(this))