vue的data为什么是一个function

  • 根实例对象data可以是对象也可以是函数(根实例是单例),不会产生数据污染情况
  • 组件实例对象data必须为函数,目的是为了防止多个组件实例对象之间共用一个data,产生数据污染。

function每次都会返回一份新的data,如果是data对象,对象是引用类型,所有组件都用同一份data了。