vue的watch和computed使用

Vue中的watchcomputed都是用来监听数据变化的,但是它们的使用场景和实现方式略有不同。

watch用于监听某个特定的数据变化,当被监听的数据发生变化时,会自动执行相应的回调函数。watch的用法如下:

watch: {
  myData: function(newValue, oldValue) {
    // do something when myData changes
  }
}

上述代码中,myData就是被监听的数据,当它的值发生变化时,watch会自动执行回调函数,并传入新值newValue和旧值oldValue

computed则用于计算某个值,这个值会根据其依赖的数据的变化而自动更新。与watch不同的是,computed返回的是一个新的值,而不是执行回调函数。computed的用法如下:

computed: {
  myComputedValue: function() {
    // calculate myComputedValue based on other data
    return result;
  }
}

上述代码中,myComputedValue就是计算出来的新值,它的计算是基于其他数据的,当这些数据发生变化时,computed会自动重新计算出一个新的值,并将其返回。

需要注意的是,computed返回的值是根据其依赖的数据变化而自动更新的,而且计算结果会被缓存,直到其依赖的数据发生变化时才会重新计算。因此,在一些需要计算结果的场景下,使用computed比使用watch更加方便和高效。

猜你喜欢

转载自blog.csdn.net/m0_72446057/article/details/129154766