路虎哥哥

导航

vue里的data为什么是一个函数?为什么用return?

vue里的data为什么是一个函数?
因为组件是用来复用的,且 JS 里对象是引用关系,
如果组件中 data 是一个对象,那么这样作用域没有隔离,子组件中的 data 属性值会相互影响,
如果组件中 data 选项是一个函数,那么每个实例可以维护一份被返回对象的独立的拷贝,组件实例之间的 data 属性值不会互相影响;
 而 new Vue 的实例,是不会被复用的,因此不存在引用对象的问题。
 
为什么用return?
不使用return包裹的数据会在项目的全局可见,
使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件。防止变量被污染

posted on 2022-07-26 22:16  路虎哥哥  阅读(237)  评论(0编辑  收藏  举报