vue 组件中的 data 为什么必须是函数
首先我们要明白, 组件的创建就是为了可以重复使用
Vue 的 data 的两种定义方式: object 和 function
object 是引用数据类型, 如果使用 object 定义组件的 data 的话, 每次重复使用组件的 data 都是内存的同一个地址, 一个数据改变了其他也改变了;
而 function 构成一个局部作用域, 每次复用组件的时候, 都会返回一个新的 object, 这个新的 object 与别的组件的 data 没有任何关联, 是一个新的引用
达到每一个组件都独立维护自己的数据, 而不是多个组件维护同一个数据
来源: http://www.jianshu.com/p/f3b8100eb989