主要是为了隔离组件状态。因为在JS中对象是引用类型的数据,如果不会一个函数而是一个对象,那么任意一个 Vue 组件修改了 Data 中的某个值,其它组件实例中的 Data 数据也会随之发生变化。所以想要复用组件,那就必须使每个组件实例之间的 Data 数据相互隔离。这样就不能写成对象的格式,而是要写成函数返回值的形式。在每次组件实例化的时候返回一个新的 Data,每个组件示例各自维护自己的 Data 数据,不去干扰其它组件的 Data 数据。本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
主要是为了隔离组件状态。因为在JS中对象是引用类型的数据,如果不会一个函数而是一个对象,那么任意一个
Vue
组件修改了Data
中的某个值,其它组件实例中的Data
数据也会随之发生变化。所以想要复用组件,那就必须使每个组件实例之间的
Data
数据相互隔离。这样就不能写成对象的格式,而是要写成函数返回值的形式。在每次组件实例化的时候返回一个新的
Data
,每个组件示例各自维护自己的Data
数据,不去干扰其它组件的Data
数据。