具有函数返回与返回明文数据对象的数据

时间:2017-06-13 17:52:37

标签: javascript vue.js

当我开始使用Vue.js时,我读到了一个返回数据属性的案例,其中返回,有时没有。我再也找不到这篇文章了,这就是我在这里问的原因。

这就是我今天使用它的方式

 data: function () {
      return {
        myData : "data"
      }
    },

但这就是我经常在文档中看到它的方式 - 不再知道它们的区别了:

 data: {
    myData: "data"
  },

1 个答案:

答案 0 :(得分:3)

https://vuejs.org/2016/02/06/common-gotchas/#Why-does-data-need-to-be-a-function

  

为什么数据必须是一个函数?

     

在基本示例中,我们将data直接声明为普通对象。这是因为我们只使用new Vue()创建了一个实例。但是,在定义组件时,必须将data声明为返回初始数据对象的函数。为什么?因为将使用相同的定义创建许多实例。如果我们仍然使用data的普通对象,那么在所有创建的实例中,将通过引用共享该对象!通过提供data函数,每次创建新实例时,我们都可以简单地调用它来返回初始数据的新副本。