为什么vue中data必须是一个函数

本篇文章从javascript原型链来解释为什么vue中data必须是一个函数

vue组件中的data必须是函数

类比引用数据类型

Object是引用数据类型,如果不是functionf返回,每个数组的data都是内存的同一个地址,一个组件中的数据改变了,其他组件中的数据也会发生改变。

js只有函数构成作用域(注意理解作用域,只有函数的{}构成作用域,对象的{}以及if(){}够不构成作用域),data是一个函数的时,每个组件实例都有自己的作用域,每个实例相互独立,不会相互影响

举例:

为什么vue中data必须是一个函数

如果两个实例同时引用一个对象,那么当你修改其中一个属性的时候,另外一个实例也会跟着改变。

两个实例应该有自己各自的区域才对,需要通过下面的方法进行处理

为什么vue中data必须是一个函数

这样每一个实例的data属性就都是独立的了,不会相互影响了。

vue组件的data必须是函数时js本身的特性带来额,与vue本身的设计没关系。

上一篇:在线教育解决方案——亿网软通“互联网+”解决方案助力教育企业


下一篇:配镜服务中心——亿网软通"互联网+"解决方案助力配镜服务行业