美文网首页前端架构
计算属性computed和方法methods的区别

计算属性computed和方法methods的区别

作者: 前端精髓 | 来源:发表于2019-05-02 19:03 被阅读1次

计算属性

  <div id="app">
    <div>
      {{msg}}
    </div>
    <div>
      {{getText}}
    </div>
    <button @click="handleClick">点击</button>
  </div>
  <script src="https://cdn.bootcss.com/vue/2.6.10/vue.common.dev.js"></script>
  <script>
    let vm = new Vue({
      el: '#app',
      data: {
        msg: 'hello',
        text: 'world'
      },
      computed: {
        getText () {
          let text = this.text + 1
          console.log(text)
          return text
        }
      }
      methods: {
        handleClick () {
          this.msg = 'hello1'
        }
      }
    })
  </script>

我们可以将同一函数定义为一个方法而不是一个计算属性。两种方式的最终结果确实是完全相同的。然而,不同的是计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。这就意味着只要 text 还没有发生改变,多次访问 getText 计算属性会立即返回之前的计算结果,而不必再次执行函数。而方法只要页面中的属性发生改变就会重新执行,所以第一段代码输出1次结果,第二段代码会输出2次。

  <div id="app">
    <div>
      {{msg}}
    </div>
    <div>
      {{getText()}}
    </div>
    <button @click="handleClick">点击</button>
  </div>
  <script src="https://cdn.bootcss.com/vue/2.6.10/vue.common.dev.js"></script>
  <script>
    let vm = new Vue({
      el: '#app',
      data: {
        msg: 'hello',
        text: 'world'
      },
      methods: {
        handleClick () {
          this.msg = 'hello1'
        },
        getText () {
          let text = this.text + 1
          console.log(text)
          return text
        }
      }
    })
  </script>

页面中最好不要直接使用方法,尽量使用computed计算属性。

相关文章

  • 5.计算属性

    计算属性关键词:computed methods方法和computed的区别methods和computed的区别...

  • 计算属性

    1.计算属性get方法: 计算属性(computed)和Methods区别:计算属性(computed)适合:有缓...

  • 计算属性

    计算属性关键词:computed methods方法和computed的区别 区别: 可以使用 methods 来...

  • vue中methods 和 computed 和 watch方法

    methods 和 computed 和 watch方法的区别 computed是计算属性,是有依赖缓存的,只有在...

  • Vue基础

    1 计算属性computed和watch和methods的区别 计算属性和方法确实能达到相同的结果,但是计算属性是...

  • Fourth 计算属性

    计算属性关键词:computed 以下代码来说明methods方法和computed的区别 练习:购物车价格的计算...

  • 5、计算属性

    计算属性关键词:computed 以下代码来说明methods方法和computed的区别 练习:购物车价格的计算...

  • Vue中 computed、methods和watch的区别

    一、computed 和 methods computed是计算属性,methods是方法,都可以实现对 data...

  • 第十五节:Vue选项:computed/methods/watc

    1. 计算属性computed与方法methods的比较 通过学习的知识,我们已经了解到computed计算属性和...

  • 计算属性,方法,侦听器

    computed 计算属性methods 方法watch 侦听器

网友评论

    本文标题:计算属性computed和方法methods的区别

    本文链接:https://www.haomeiwen.com/subject/yhznnqtx.html