Vue中computed与methods的区别详解


Posted in Javascript onMarch 24, 2018

Vue中computed可以用来简单的拼接需要展示的数据

Vue中computed与methods的区别详解

computed and methods

拼接展示数据的任务, 也可以用methods完成, 但当页面的数据变化时, methods中的方法会被重新调用(产生不必要的性能消耗), 而methods内的方法只有和自身有关的数据变化时才会被调用

一个简单的实例

Vue中computed与methods的区别详解

computed只在初始化时被调用

computed只在初始化时被调用

methods会在数据变化时被调用, 即使变动的数据与自身无关

测试源码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>computed的使用</title>
  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.js"></script>
</head>
<body>
  <div id="root">
  </div>
  <script>
    var vm = new Vue({
      el: "#root",
      data: {
        name: "zhaozhao",
        age: 13,
        hobby: 'Python',
        nameAgeStyle: {
          fontSize: "20px",
          color: "#0c8ac5"
        }
      },
      template: `<div>
        <div v-bind:style="nameAgeStyle">computed方式渲染: {{nameAndAge}}</div>
        <div v-bind:style="nameAgeStyle">methods 方式渲染: {{getNameAndAge()}}</div>
        <br>
        <input type="text" v-model="hobby">
        <div>爱好: {{hobby}}</div>
        <div>{{noUse()}}</div>
        </div>`,
      computed: {
        nameAndAge: {
          get(){
          console.log('调用computed');
          return `${this.name} ==> ${this.age}`;
          }
        }
      },
      methods: {
        getNameAndAge() {
          console.log('调用methods');
          return `${this.name} ==> ${this.age}`;
        },
        noUse(){
          console.log("=methods==nouse==");
        }
      }
    })
  </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery源码分析-04 选择器-Sizzle-工作原理分析
Nov 14 Javascript
iphone safari不支持position fixed的解决方法
May 04 Javascript
Extjs grid添加一个图片状态或者按钮的方法
Apr 03 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
Sep 06 Javascript
JavaScript实现下拉菜单的显示和隐藏
Jan 05 Javascript
jQuery获取file控件中图片的宽高与大小
Aug 04 Javascript
jquery事件绑定解绑机制源码解析
Sep 19 Javascript
gulp解决跨域的配置文件问题
Jun 08 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
Jul 07 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
关于JavaScript中异步/等待的用法与理解
Nov 18 Javascript
小程序实现筛子抽奖
May 26 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
Apr 12 #Javascript
使用Angular CLI进行单元测试和E2E测试的方法
Mar 24 #Javascript
使用Angular CLI进行Build(构建)和Serve详解
Mar 24 #Javascript
使用Angular CLI生成路由的方法
Mar 24 #Javascript
使用Angular CLI从蓝本生成代码详解
Mar 24 #Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 #Javascript
在vue中使用jointjs的方法
Mar 24 #Javascript
You might like
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
PHP安全上传图片的方法
2015/03/21 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
详解js模板引擎art template数组渲染的方法
2018/10/09 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
简单实现python收发邮件功能
2018/01/05 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python 从list中随机取值的方法
2020/11/16 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
美国智能家居专家:tink
2019/06/04 全球购物
介绍一下OSI七层模型
2012/07/03 面试题
村委会主任先进事迹
2014/01/15 职场文书
微观物理专业自荐信
2014/01/26 职场文书
中学生操行评语大全
2014/04/24 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
运动会开幕式主持词
2015/07/01 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers