我们在写vue项目的时候,会发现data是一个函数,而不是对象。在面试时面试官也会经常问到这个问题。
原因:
Object是引用数据类型,如果不用function 返回,每个组件的data 都是内存的同一个地址,一个数据改变了其他也改变了;
javascipt只有函数构成作用域(注意理解作用域,只有函数的{}构成作用域,对象的{}以及 if(){}都不构成作用域),data是一个函数时,每个组件实例都有自己的作用域,每个实例相互独立,不会相互影响。
为什么vue中的data必须是函数
最新推荐文章于 2024-07-19 14:30:44 发布