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 相关文章推荐
神奇的7个jQuery 3D插件整理
Jan 06 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
Aug 29 Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 Javascript
jQuery判断一个元素是否可见的方法
Jun 05 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 Javascript
js实现手机发送验证码功能
Mar 13 Javascript
微信小程序教程系列之视图层的条件渲染(10)
Apr 19 Javascript
MvcPager分页控件 适用于Bootstrap
Jun 03 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
Oct 31 Javascript
react-navigation之动态修改title的内容
Sep 26 Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 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数据缓存技术
2007/02/14 PHP
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
PHP设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
HTTP 304错误的详细讲解
2013/11/13 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
Python制作爬虫抓取美女图
2016/01/20 Python
python操作字典类型的常用方法(推荐)
2016/05/16 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
python和shell监控linux服务器的详细代码
2018/06/22 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
Python Django 命名空间模式的实现
2019/08/09 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
Ibatis如何调用存储过程
2015/05/15 面试题
美术指导求职信
2014/03/17 职场文书
校园安全广播稿范文
2014/09/25 职场文书
2015年医生个人工作总结
2015/04/25 职场文书
收入证明范本
2015/06/12 职场文书
新人入职感言
2015/07/31 职场文书
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android