博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue--为什么data属性必须是一个函数
阅读量:7231 次
发布时间:2019-06-29

本文共 468 字,大约阅读时间需要 1 分钟。

欢迎访问我的个人博客:

前言

老规矩,我们还是先说为什么。

问题描述:为什么在vue组件中,我们的data属性必须是一个函数,new Vue()中的data除外,因为new Vue中只有一个data属性。

原因:因为我们能抽离出来的组件,肯定是具有复用性的,它在项目中会存在多个实例。如果data属性值是一个对象时,那么它所有的实例都会共享这些数据,这是很麻烦的事情,你不能确保你的所有实例中的属性值都不会重复。

我们的期望是,组件的每个实例都能独立的维护自己的数据。

解决方案

我们都知道,在JavaScript中,函数具有独立作用域快的特点,外部是无法访问其内部的变量。

试想一下,如果我们组件中的data属性是一个函数,他的每个实例就会有自己的作用域空间,也就是独立的数据,每个实例之间不会相互影响。

所以,组件中的data属性必须是一个函数。


github资源地址:

我的CSDN博客地址:

如果您对我的博客内容有疑惑或质疑的地方,请在下方评论区留言,或邮件给我,共同学习进步。

邮箱:wuxiaolong802@163.com

转载地址:http://fwvfm.baihongyu.com/

你可能感兴趣的文章
浅谈DDD
查看>>
在使用springMVC时,我使用了@Service这样的注解,发现使用注解@Transactional声明的事务不起作用...
查看>>
Servlet入门(第一个Servlet的Web程序)
查看>>
Android学习笔记进阶18 之画图并保存图片到本地
查看>>
安装wxWidgets遭遇的两大关卡
查看>>
MapReduce实战(六)共同粉丝
查看>>
Java 实现单链表反序
查看>>
移植alsa-lib遇到的问题
查看>>
镜像的缓存特性 - 每天5分钟玩转 Docker 容器技术(14)
查看>>
[Node.js]多进程
查看>>
面试归来,感觉无望,下次再战
查看>>
C#之值类型和引用类型
查看>>
项目经理的五种权利
查看>>
病态矩阵与条件数
查看>>
Java IntelliJ IDEA 不能显示项目里的文件结构
查看>>
HDU 5325 Crazy Bobo(思路+dfs 记忆化)
查看>>
.NET平台常用的框架整理
查看>>
使用EmbeddedValueResolverAware读取配置文件内容
查看>>
打印从1到最大的n位数
查看>>
drawnet.py绘制网络结构
查看>>