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 操作DOM案例代码分享
Apr 05 Javascript
js+html+css实现鼠标移动div实例
Jan 30 Javascript
js格式化金额可选是否带千分位以及保留精度
Jan 28 Javascript
jquery得到iframe src属性值的方法
Sep 25 Javascript
JavaScript中textRange对象使用方法小结
Mar 24 Javascript
JavaScript节点及列表操作实例小结
Aug 05 Javascript
解析ajaxFileUpload 异步上传文件简单使用
Dec 30 Javascript
Javascript之图片的延迟加载的实例详解
Jul 24 Javascript
JS中使用textPath实现线条上的文字
Dec 25 Javascript
es6新特性之 class 基本用法解析
May 05 Javascript
深入理解 TypeScript Reflect Metadata
Dec 12 Javascript
node.js中path路径模块的使用方法实例分析
Feb 13 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
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP 日期加减的类,很不错
2009/10/10 PHP
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
PHP+jquery+ajax实现分页
2016/12/09 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
Python随手笔记之标准类型内建函数
2015/12/02 Python
Python进行数据提取的方法总结
2016/08/22 Python
Python生成器以及应用实例解析
2018/02/08 Python
python使用turtle绘制分形树
2018/06/22 Python
python实现一个简单的ping工具方法
2019/01/31 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
通过实例解析python描述符原理作用
2020/01/22 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
CSS3颜色值RGBA与渐变色使用介绍
2020/03/06 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
药剂学专业应届生自荐信
2013/09/29 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
战马观后感
2015/06/08 职场文书
教师节校长致辞
2015/07/31 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python