您现在的位置是:首页 > 文章详情

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

日期:2018-09-15点击:388

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

vue组件中的data必须是函数

类比引用数据类型

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

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

举例:

img_ef0e3136949e7088984dcccf7ae9ffd0.png

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

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

img_ff4fcd2f8c43c760988f1d120a9f7ac3.png

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

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

原文链接:https://yq.aliyun.com/articles/657626
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章