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 相关文章推荐
firefox下对ajax的onreadystatechange的支持情况分析
Dec 14 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
Jan 16 Javascript
jQuery进行组件开发完整实例
Dec 15 Javascript
React Router基础使用
Jan 17 Javascript
js 动态生成html 触发事件传参字符转义的实例
Feb 14 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 Javascript
小程序scroll-view组件实现滚动的示例代码
Sep 20 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
React学习之受控组件与数据共享实例分析
Jan 06 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
Nov 06 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
Nov 16 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
smarty的保留变量问题
2008/10/23 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
php通过各种函数判断0和空
2020/07/04 PHP
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
2016/05/31 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
JS实现留言板功能
2017/06/17 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
python统计cpu利用率的方法
2015/06/02 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
python常见排序算法基础教程
2017/04/13 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
请说出你所知道的线程同步的方法
2013/04/19 面试题
C# .NET面试题
2015/11/28 面试题
五四青年节优秀演讲稿范文
2014/05/28 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
教师工作证明范本
2015/06/12 职场文书