Vue->data为何是一个函数而不是对象

前言

问题描述:为何在vue组件中,咱们的data属性必须是一个函数,new Vue()中的data除外,由于new Vue中只有一个data属性。前端

缘由:由于咱们能抽离出来的组件,确定是具备复用性的,它在项目中会存在多个实例。若是data属性值是一个对象时,那么它全部的实例都会共享这些数据,这是很麻烦的事情,你不能确保你的全部实例中的属性值都不会重复。vue

咱们的指望是,组件的每一个实例都能独立的维护本身的数据。函数

疑点解析


咱们都知道,在JavaScript中,函数具备独立做用域快的特色,外部是没法访问其内部的变量。 试想一下,若是咱们组件中的data返回一个函数,他的每一个实例就会有本身的做用域空间,也就是独立的数据,每一个实例之间不会相互影响。

因此,组件中的data属性必须是一个函数。对象

写在最后

但愿个人分享对你有所帮助,更多资讯请持续关注,我会分享愈来愈多的实战经验哦! 或加入大前端知识体系社区一块儿探索技术:608229520ip

相关文章
相关标签/搜索