同学你好,vue中的data为什么是个函数?在Vue2中,根实例的data可以直接配置为一个对象,而组件的data需要配置为函数返回一个对象的形式,在Vue3(optional-api)中app及组件的data配置都要配置为函数,而Vue3的composition-api中,我们可以通过ref和reactive来创建响应式状态。
data需要配置成函数的原因是因为组件实质是一个类,使用组件的时候相当于对组件进行实例化,每个组件的实例作用域等都是相互隔离的,所以data函数需要配置成函数每次实例化来返回一个实例独有的状态对象。