计算属性(computed)、方法(methods)和侦听属性(watch)的区别与使用场景

1,computed 能实现的,methods 肯定也能够实现。

2,不同之处在于,computed 是基于他的依赖进行缓存的,computed 只有在他的的相关依赖发生改变的时候才会重新计算

     如果他的相关依赖并没有发生改变,每次访问都是返回他的缓存的值。

     methods,则是每次触发重新渲染之后,调用方法会再次执行函数。

     总结:当我们不希望有缓存的时候,就使用methods

3,computed 和 watch 的相同和不同之处

    相同点:computed 和 watch 都是以vue的依赖追踪为基础的,都是希望当依赖发生改变的时候,被依赖的数据根据预定好的函数发生改变。

    不同点:watch 监听,一般是监听一个数据,从而影响多个数据

                  computed 计算属性, 一般是计算一个属性,这个属性受多个数据影响

     总结:一般使用computed,但是如果需要异步,或者数据开销太大的情况下,使用watch.

原文地址:https://www.cnblogs.com/Ky-Thompson23/p/12631997.html