vue里的data要用return返回的原因浅析


Posted in Javascript onMay 28, 2019

官网的示例

var vm = new Vue({
 el: '#example',
 data: {
 message: 'Hello'
 }
});

项目中的写法

data() {
 return {
 message: 'Hello'
 }
 }

为什么要把data变成函数并return属性呢?

组件是一个可复用的实例,当你引用一个组件的时候,组件里的data是一个普通的对象,所有用到这个组件的都引用的同一个data,就会造成数据污染。

将data封装成函数后,在实例化组件的时候,我们只是调用了data函数生成的数据副本,避免了数据污染。

PS:下面看下vue中data是否使用return的区别

// Vue实例中data属性是如下方式展示的:
let app = newVue({
  el: "#app",
  data: { msg: '' },
  methods: {}
})
// 使用组件化的项目中是如下方式展示的:
export default{
  data(){
    return{
      showLogin:true,
      msg:''
    }
  },
  methods:{}
}

// 为何在大型项目中data需要使用return返回数据呢?
// 答:不使用return包裹的数据会在项目的全局可见,会造成变量污染
//    使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件

总结

以上所述是小编给大家介绍的vue里的data要用return返回的原因浅析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Mozilla中显示textarea中选择的文字
Sep 07 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
Dec 02 Javascript
javascript折半查找详解
Jan 26 Javascript
45个JavaScript编程注意事项、技巧大全
Feb 11 Javascript
浅谈javascript语法和定时函数
May 03 Javascript
全面解析Bootstrap图片轮播效果
Dec 03 Javascript
关于session和cookie的简单理解
Jun 08 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
Sep 21 Javascript
浅谈javascript中的三种弹窗
Oct 21 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
Mar 25 Javascript
Vue中rem与postcss-pxtorem的应用详解
Nov 20 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
May 28 #Javascript
Javascript三种字符串连接方式及性能比较
May 28 #Javascript
vue+element实现表格新增、编辑、删除功能
May 28 #Javascript
Vue实现表格批量审核功能实例代码
May 28 #Javascript
vue+Element实现搜索关键字高亮功能
May 28 #Javascript
vue input输入框关键字筛选检索列表数据展示
Oct 26 #Javascript
vue+elementUI实现表格关键字筛选高亮
Oct 26 #Javascript
You might like
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
PHP的反射机制实例详解
2017/03/29 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
js实现简单div拖拽功能实例
2015/05/12 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
python清除字符串里非数字字符的方法
2015/07/02 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
python安装sklearn模块的方法详解
2020/11/28 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
入党自荐书范文
2015/03/05 职场文书
盗窃案辩护词
2015/05/21 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript