azl397985856 / fe-interview

宇宙最强的前端面试指南 (https://lucifer.ren/fe-interview)
Apache License 2.0
2.84k stars 260 forks source link

【每日一题】- 2019-12-02 - 在Vue中, 什么时候data可以是对象,而不是函数?为什么? #75

Closed azl397985856 closed 4 years ago

azl397985856 commented 4 years ago

正如Vue 官方文档描述的那样,如果是组件,那么data必须是一个函数。 原因在于组件的实例可能会有多个。为了避免互相干扰,需要用户使用函数,每个组件实例都返回一个全新的对象,从而避免相互之间的影响。

但是如果你是顶层的app,由于同一个应用理论上只应该有一个。因此我们可以将其设置成对象,也不存在上述的问题。