1,Vue的组件的 data 选项如果没有设置成函数,会导致程序无法通过 vue 的检测
2.Vue组件可能存在多个实例,如果使用对象形式定义 data,则会导致它们共用一个 data 对象,那么状态的变更会影响所以组件实例,明显是不合理的.采用函数形式定义,在 initData 时会将其作为工厂函数返回一个全新的 data 对象,有效的避免多实例之间状态污染问题.在 Vue 根实例创建过程中不存在限制,因为根实例智能有一个,不存子啊这种情况.从看源码的时候,发现 Vue 组件的合并选项和根实例合并的时候,它会根据有无实例而判断是根组件还是组件,如果是根组件的化,它会避开 data 检测
网友评论