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 相关文章推荐
查询绑定数据岛的表格中的文本并修改显示方式的js代码
Dec 15 Javascript
node.js中的buffer.slice方法使用说明
Dec 10 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
Nov 26 Javascript
JS验证逗号隔开可以是中文字母数字
Apr 22 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
JavaScript cookie详解及简单实例应用
Dec 31 Javascript
原生js实现新闻列表展开/收起全文功能
Jan 20 Javascript
jQuery plugin animsition使用小结
Sep 14 jQuery
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
Sep 18 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
Aug 16 Javascript
JavaScript indexOf()原理及使用方法详解
Jul 09 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+Ajax+JS实现多图上传
2016/05/07 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
Ajax异步文件上传与NodeJS express服务端处理
2017/04/01 NodeJs
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
Python实现的字典值比较功能示例
2018/01/08 Python
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
个人自我评价分享
2013/12/20 职场文书
司机检讨书
2014/02/13 职场文书
党员承诺书内容
2014/03/26 职场文书
产品质量承诺书
2014/03/27 职场文书
纪律教育月活动总结
2014/08/26 职场文书
中学生打架检讨书
2014/10/13 职场文书
处级干部考察材料
2014/12/24 职场文书
天河观后感
2015/06/11 职场文书
老人与海读书笔记
2015/06/26 职场文书
新兵入伍决心书
2015/09/22 职场文书
Mysql Show Profile
2021/04/05 MySQL
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL