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 相关文章推荐
node.js中的fs.writeSync方法使用说明
Dec 15 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
Nov 21 Javascript
vue双向绑定的简单实现
Dec 22 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 Javascript
React router动态加载组件之适配器模式的应用详解
Sep 12 Javascript
vue+webpack中配置ESLint
Nov 07 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
详解ES6 Promise的生命周期和创建
Aug 18 Javascript
vue视频播放插件vue-video-player的具体使用方法
Nov 08 Javascript
jQuery实现带进度条的轮播图
Sep 13 jQuery
微信小程序入门之绘制时钟
Oct 22 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
使用php4加速网络传输
2006/10/09 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
php-msf源码详解
2017/12/25 PHP
php unlink()函数使用教程
2018/07/12 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
2017/06/13 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
解决Vue2.0中使用less给元素添加背景图片出现的问题
2018/09/03 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
css3动画事件—webkitAnimationEnd与计时器time事件
2013/01/31 HTML / CSS
详解HTML5中的标签
2015/06/19 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
用C语言实现文件读写操作
2013/10/27 面试题
专科应届生求职信
2013/11/24 职场文书
商务考察邀请函范文
2014/01/21 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
红色经典观后感
2015/06/18 职场文书
会议承办单位欢迎词
2019/07/09 职场文书