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

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

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

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

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

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

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

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

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

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

05-11 15:51