为什么vue中data必须是一个函数
本篇文章从javascript原型链来解释为什么vue中data必须是一个函数
vue组件中的data必须是函数
类比引用数据类型
Object是引用数据类型,如果不是functionf返回,每个数组的data都是内存的同一个地址,一个组件中的数据改变了,其他组件中的数据也会发生改变。
js只有函数构成作用域(注意理解作用域,只有函数的{}构成作用域,对象的{}以及if(){}够不构成作用域),data是一个函数的时,每个组件实例都有自己的作用域,每个实例相互独立,不会相互影响
举例:
如果两个实例同时引用一个对象,那么当你修改其中一个属性的时候,另外一个实例也会跟着改变。
两个实例应该有自己各自的区域才对,需要通过下面的方法进行处理
这样每一个实例的data属性就都是独立的了,不会相互影响了。
vue组件的data必须是函数时js本身的特性带来额,与vue本身的设计没关系。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux 中 Windows 中文乱码
Linux 下 Windows 源代码中文乱码 由于 windows 和 linux 对文本的编码方式不同,所以经常会有 windows 中生成的文本在 linux 中打开乱码的情况。 比如: 我面临的情况是现在有很多的源代码文件是处于这样的情况,如下图: 其中每个文件夹中包含了 java 源代码文件和子文件夹。 在参考了网上的部分文章后(https://blog.csdn.net/imyang2007/article/details/7448177),我写了一个脚本用于将这个目录下的所有 java 源代码转码成 UTF-8。 后来转念一想,顺便扩展一下直接支持多种类型的源代码文件好了。 于是,就再次完善了一下。 对于我的情况,直接将脚本拖到 Tomcat-Java-Web-development-src-master_UTF-8 目录下,在命令行中运行即可(默认 java 源代码文件) 转码之后的结果: 使用方法 直接将脚本放到要进行转码的文件夹中,运行即可。 程序接受两个参数或者没有参数(默认当前文件夹,java 源代码),第一个是要进行转码的文件目录,第二个是源代码文件类型。 源...
- 下一篇
Python全栈 Web(前端三剑客之JavaScript 从小白鼠到武林盟主)
// HTML嵌套: // 元素标签中绑定JS代码: // "<p onclick="js操作">文本</p>" // 文档嵌套: // "<script type="text/javascript"> js操作 </script>" // 外部链接: // "<script src="外部.js文件""> js操作 </script>" // href:边加载边执行 src:加载完毕后执行 JS常用操作: alert("hello wotld!"); 普通网页弹窗 pormpt("please input"); 接受用户输入的弹窗 console.log("hello wotld"); 输出到控制台 docu
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装