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 相关文章推荐
JavaScript基本概念初级讲解论坛贴的学习记录
Feb 22 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 Javascript
Jquery截取中文字符串的实现代码
Dec 22 Javascript
JavaScript实现关键字高亮功能
Nov 12 Javascript
简单介绍jsonp 使用小结
Jan 27 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
Dec 13 Javascript
Bootstrap Table 搜索框和查询功能
Nov 30 Javascript
vue自定义指令directive实例详解
Jan 17 Javascript
vue2.0之多页面的开发的示例
Jan 30 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
jQuery zTree如何改变指定节点文本样式
Oct 16 jQuery
基于javascript实现移动端轮播图效果
Dec 21 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
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
php多文件上传下载示例分享
2014/02/20 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Django框架下在视图中使用模版的方法
2015/07/16 Python
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
彻底搞懂Python字符编码
2018/01/23 Python
Python numpy 点数组去重的实例
2018/04/18 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python 获取等间隔的数组实例
2019/07/04 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
《与朱元思书》的教学反思
2014/04/17 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
兴趣班停课通知
2015/04/24 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS