组件中的data为何不是一个对象而是一个函数?

组件是可复用的vue实例,一个组件被建立好以后,就可能被用在各个地方,而组件无论被复用了多少次,组件中的data数据都应该是相互隔离,互不影响的,基于这一理念,组件每复用一次,data数据就应该被复制一次,以后,当某一处复用的地方组件内data数据被改变时,其余复用地方组件的data数据不受影响。vue

组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,相似于给每一个组件实例建立一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得全部组件实例共用了一份data,就会形成一个变了全都会变的结果。函数

相关文章
相关标签/搜索