zxdfe / FE-Interview

Every step counts
34 stars 1 forks source link

第43题:组件中的data为什么是函数? #44

Open zxdfe opened 1 year ago

Ve1ns commented 1 year ago

一个vm当中可能有很多个component(组件)组成,每一个组件的data都挂载在vm中的initdata()当中,如果写成对象形式,不同组件的data,所占的堆空间是同一个,这个时候不同组件的data不具有私有性,会互相影响。我们采用工厂函数这种形式,每一个组件中的data被return出来,每一次都是返回出来的新数据,每一次使用data所占的堆空间都是不同的,实现了每个组件数据的私有化。