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 相关文章推荐
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
Mar 06 Javascript
浅谈Javascript Base64 加密解密
Dec 28 Javascript
jQuery+Ajax实现无刷新分页
Oct 30 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 Javascript
jQuery实现可拖拽3D万花筒旋转特效
Jan 03 Javascript
Vue官方文档梳理之全局配置
Nov 22 Javascript
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
如何以Angular的姿势打开Font-Awesome详解
Apr 22 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 jQuery
vue使用el-upload上传文件及Feign服务间传递文件的方法
Mar 15 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
Jul 16 Javascript
使用vscode快速建立vue模板过程详解
Oct 10 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框架Phpbean说明
2008/01/10 PHP
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
jQuery使用ajax_动力节点Java学院整理
2017/07/05 jQuery
Angular异步变同步处理方法
2018/08/13 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
浅谈python配置与使用OpenCV踩的一些坑
2018/04/02 Python
Python 一句话生成字母表的方法
2019/01/02 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
python tkinter实现连连看游戏
2020/11/16 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
高中地理教学反思
2014/01/29 职场文书
收银员岗位职责
2014/02/07 职场文书
五一手机促销方案
2014/03/08 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
教师工作表现评语
2014/12/31 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
警示教育片观后感
2015/06/17 职场文书