Vue 中 computed、methods 和 watch 的区别

	<template>
	    <div>
	      <p>使用computed {{ message }}</p>
	      <p>使用methods {{ message() }}</p>
	    </div>
	</template>

  <!-- 简略代码 -->
  <script>
    data () {
      return {
        message: '我是message'
      }
    }
    computed: {
      message: function () {
        return this.message
      }
    },

    methods: {
      message() {
        return this.message
      }
    },

	watch: {
      firstName: function (val) {
          this.fullName = val ;
      }
    }
  </script>
  • 首先最明显的不同就是 methods 调用的时候要加()。
  • computed 的执行基于它的依赖缓存,只有相关依赖发生变化的才会重新取值。
  • 使用 methods ,在重新渲染的时候,函数总会重新调用执行,也就是说,methods是实时的,在重新渲染时,函数总会重新调用执行,不会缓存
  • watch 用于观察和监听 Vue 实例,watch为一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章