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 相关文章推荐
js 加载时自动调整图片大小
May 28 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
jQuery检测返回值的数据类型
Jul 13 Javascript
JavaScript代码判断点击第几个按钮
Dec 13 Javascript
javascript实现checkbox复选框实例代码
Jan 10 Javascript
javascript实现查找数组中最大值方法汇总
Feb 13 Javascript
JSON与JS对象的区别与对比
Mar 01 Javascript
AngularJS实现根据不同条件显示不同控件
Apr 20 Javascript
layui选项卡效果实现代码
May 19 Javascript
JS中超越现实的匿名函数用法实例分析
Jun 21 Javascript
Vue内部渲染视图的方法
Sep 02 Javascript
react 项目中引入图片的几种方式
Jun 02 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程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
解析php中memcache的应用
2013/06/18 PHP
php获取参数的几种方法总结
2014/02/18 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
javascript hashtable实现代码
2009/10/13 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
2013/01/17 Javascript
javascript类型转换示例
2014/04/29 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
jquery图片切换插件
2015/03/16 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
sqlalchemy对象转dict的示例
2014/04/22 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
10款最好的Python开发编辑器
2019/07/03 Python
英语自我评价范文
2014/01/24 职场文书
文化宣传方案
2014/03/13 职场文书
图书馆标语
2014/06/19 职场文书
法院个人总结
2015/03/03 职场文书
奖金申请报告模板
2015/05/15 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
汉语拼音教学反思
2016/02/22 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js