为什么 vue 组件中的 data 是函数而不是对象?

js中的对象是引用类型的输入,当多个实例引用同一个对象时,只要一个实例对这个对象进行操作,其他实例中的数据也会发生变化。

在vue里面,需要复用组件,那就需要每个组件都有自己的数据,组件之间才不会干扰。

所以组件的数据不能写成对象的形式,而是要写成函数的形式。数据以函数返回值的形式定义,这样当我们每次复用组件的时候,都会返回一个新的data,也就是说每个组件都有自己的私有数据空间,它们各自维护自己的数据,不会干扰其他组件的正常运行.

 

posted @ 2021-09-25 12:17  Yjj-hn  阅读(251)  评论(0编辑  收藏  举报