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 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
ExtJS 设置级联菜单的默认值
Jun 13 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
Feb 23 Javascript
javascript作用域、作用域链(菜鸟必看)
Jun 16 Javascript
node安装--linux下的快速安装教程
Mar 21 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
Aug 22 Javascript
vue项目打包部署_nginx代理访问方法详解
Sep 20 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 Javascript
js实现坦克大战游戏
Feb 24 Javascript
vue递归获取父元素的元素实例
Aug 07 Javascript
javascript实现滚轮轮播图片
Dec 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
PHP.vs.JAVA
2016/04/29 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
去除html代码里面的script正则方法
2016/05/19 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
vue车牌号校验和银行校验实战
2019/01/23 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
vue模块移动组件的实现示例
2020/05/20 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python修改MP3文件的方法
2015/06/15 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
法律专业推荐信范文
2013/11/29 职场文书
学雷锋演讲稿
2014/03/04 职场文书
科学发展观演讲稿
2014/09/11 职场文书
房产公证委托书范本
2014/09/20 职场文书
怎么写工作检讨书
2014/11/16 职场文书
监理中标通知书
2015/04/16 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python