[面试题] Vue 中 data 为什么是一个函数而不是对象?

Vue 中 data 为什么是一个函数而不是对象?


本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。


回答:

主要是为了隔离组件状态。因为在JS中对象是引用类型的数据,如果不会一个函数而是一个对象,那么任意一个 Vue 组件修改了 Data 中的某个值,其它组件实例中的 Data 数据也会随之发生变化。

所以想要复用组件,那就必须使每个组件实例之间的 Data 数据相互隔离。这样就不能写成对象的格式,而是要写成函数返回值的形式。
在每次组件实例化的时候返回一个新的 Data,每个组件示例各自维护自己的 Data 数据,不去干扰其它组件的 Data 数据。

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

以上是 [面试题] Vue 中 data 为什么是一个函数而不是对象? 的全部内容, 来源链接: utcz.com/p/933963.html

回到顶部