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操作小结与实例
Jan 07 Javascript
javascript XMLHttpRequest对象全面剖析
Apr 24 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
原生Js实现简易烟花爆炸效果的方法
Mar 20 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
Dec 03 Javascript
JavaScript的this关键字的理解
Jun 18 Javascript
用原生js统计文本行数的简单示例
Aug 19 Javascript
读Javascript高性能编程重点笔记
Dec 21 Javascript
简单谈谈vue的过渡动画(推荐)
Oct 11 Javascript
如何开发出更好的JavaScript模块
Dec 22 Javascript
微信小程序视图容器(swiper)组件创建轮播图
Jun 19 Javascript
js String.prototype.trim字符去前后空格的扩展
Aug 23 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 excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
event对象的方法 兼容多浏览器
2009/06/27 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python开发之for循环操作实例详解
2015/11/12 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
python使用smtplib模块发送邮件
2020/12/17 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
请写出 float x 与"零值"比较的 if 语句
2016/01/04 面试题
简单而又朴实的个人求职信分享
2013/12/12 职场文书
创新比赛获奖感言
2014/02/13 职场文书
信访工作经验交流材料
2014/05/23 职场文书
好人好事演讲稿
2014/09/01 职场文书
爱护公物演讲稿
2014/09/09 职场文书
15个值得收藏的JavaScript函数
2021/09/15 Javascript
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers