Vue中data必须是一个函数

3,094 阅读1分钟

导言

哎,明明做过一些vue的项目,在写vue组件中的 data时是这样写的:

data() {
    return {
        
    }
}

但是,就是没有想过为什么是一个函数,然后返回一个对象呢?
为什么不能这样呢?

data : {
    
}

总结

  1. vue中data 是可以直接写成一个对象的,但这是保证这个组件不会被复用的情况下
  2. 由于组价的复用,其实是创建多个vue实例,如果data中仍然是只是一个对象,那么其实创建出来的实例保持的都是对同一个对象的引用。
  3. 所以我们通过 一个 函数执行返回了一个新的全新的数据对象。