组件中data为什么是一个函数?
vue实例中的data属性既可以是一个对象,也可以是一个函数
const app = new Vue({ el: "#app", data: { foo: "foo" }, data() { return { foo:"foo" } } })
在组件中data必须是一个函数 若是一个对象的话:会报错
小结:
data是一个函数,每一个组件实例都有自己的作用域,每个示例相互独立,不会相互影响 。
Object是引用数据类型,如果不用function返回,每个组件的data都是内存的同一个地址,一个数据改变了其他也改变了。