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 相关文章推荐
html 锁定页面(js遮罩层弹出div效果)
Oct 27 Javascript
JavaScript 程序编码规范
Nov 23 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
Mar 29 Javascript
使用ajax+jqtransform实现动态加载select
Dec 01 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
Nov 18 Javascript
谈谈对JavaScript原生拖放的深入理解
Sep 20 Javascript
js中new一个对象的过程
Feb 20 Javascript
vue-dialog的弹出层组件
May 25 Javascript
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
jQuery使用jsonp实现百度搜索的示例代码
Jul 08 jQuery
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
uniapp 微信小程序 自定义tabBar 导航
Apr 22 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
Laravel实现autoload方法详解
2017/05/07 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
javascript 学习之旅 (2)
2009/02/05 Javascript
csdn 博客的css样式 v3
2009/02/24 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
Vue数据驱动模拟实现4
2017/01/12 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
学python需要去培训机构吗
2020/07/01 Python
Python如何定义有可选参数的元类
2020/07/31 Python
python 绘制国旗的示例
2020/09/27 Python
python 6种方法实现单例模式
2020/12/15 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
大学生会计职业生涯规划范文
2014/02/28 职场文书
人事部岗位职责范本
2014/03/05 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
质量整改通知单
2015/04/21 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫