vue初始化data

54 阅读1分钟

vuev初始化data是我们常用的,特别在使用组件的时候很频繁,因为关闭组件再重新打开组件会有缓存数据,这时候徐需要再关闭的时候同时初始化一下组件data初始状态;

常用的方法:Object.assign(this.$data, this.$options.data())

不过这个方法会存在一个坑点:如果这时候data中存在如下情况,this会被改变指向为vue全局实例

data() {
    return {
        a: 1,
        b: this.a
    }
}

这时候推荐最稳妥的方式:

Object.assign(this.$data, this.$options.data.call(this))