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 相关文章推荐
jQuery对象和DOM对象的相互转化实现代码
Mar 02 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
Jan 08 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
Apr 26 Javascript
jquery滚动条插件jScrollPane的使用介绍
Nov 08 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
jQuery实现鼠标点击弹出渐变层的方法
Jul 09 Javascript
关于javascript的一些知识以及循环详解
Sep 12 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
May 01 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
Dec 30 Javascript
详解vue路由
Aug 05 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面向对象分析设计的61条军规小结
2010/07/17 PHP
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
php实现简单四则运算器
2020/11/29 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
bootstrap confirmation按钮提示组件使用详解
2017/08/22 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python递归函数定义与用法示例
2017/06/02 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
塔吉特百货公司官网:Target
2017/04/27 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
Java如何读取CLOB字段
2013/10/10 面试题
小学生操行评语大全
2014/04/22 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
2014年库房工作总结
2014/11/26 职场文书
2015年物资管理工作总结
2015/05/20 职场文书
解除租赁合同协议书
2016/03/21 职场文书