当前位置: 移动技术网 > IT编程>脚本编程>vue.js > Vue中computed与methods的区别详解

Vue中computed与methods的区别详解

2019年06月06日  | 移动技术网IT编程  | 我要评论

新河在线,采之网,华夏红利前收

vue中computed可以用来简单的拼接需要展示的数据

computed and methods

拼接展示数据的任务, 也可以用methods完成, 但当页面的数据变化时, methods中的方法会被重新调用(产生不必要的性能消耗), 而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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网