1,computed 能实现的,methods 肯定也能够实现。
2,不同之处在于,computed 是基于他的依赖进行缓存的,computed 只有在他的的相关依赖发生改变的时候才会重新计算。
如果他的相关依赖并没有发生改变,每次访问都是返回他的缓存的值。
methods,则是每次触发重新渲染之后,调用方法会再次执行函数。
总结:当我们不希望有缓存的时候,就使用methods
3,computed 和 watch 的相同和不同之处
相同点:computed 和 watch 都是以vue的依赖追踪为基础的,都是希望当依赖发生改变的时候,被依赖的数据根据预定好的函数发生改变。
不同点:watch 监听,一般是监听一个数据,从而影响多个数据
computed 计算属性, 一般是计算一个属性,这个属性受多个数据影响
总结:一般使用computed,但是如果需要异步,或者数据开销太大的情况下,使用watch.