一、computed、watch、methods的区别

80 阅读1分钟

computed、watch、methods的区别

一、简介

1、watch

watch用于监听数据变化,来完成响应式。当监听数据变化,watch会触发对应的回调函数。 回调函数中有两个参数,该数据的新旧值。如果需要第一次进入就监听,需要开启immediate:true

watch: {
  name: function(newValue, oldValue) {
    console.log('name changed from', oldValue, 'to', newValue)
  },
  immediate:true
}

2、Computed

Computed是计算属性,可以配置一个或多个数据,并在其中编写回调函数,当该数据发生变化,即触发函数重新计算,并将返回值渲染到页面上。

computed: {
  fullName: function() {
    return this.firstName + ' ' + this.lastName
  }
}

3、methods

Methods是vue中配置方法函数的配置项,触发其中的函数时会执行。

methods: {
  sayHello: function() {
    console.log('Hello, World!')
  }
}

二、区别

  • watch可以进行异步等复杂逻辑的监听,在数据变化后立即执行回调。
  • computed有返回值,可以缓存,节约性能。
  • method与上面两个方式相比,需要手动调用。