找他们三个来做比较,说明他们还是有相同点的。
1.computed VS methods
computed有缓存,methods没有缓存。
computed方法,不管调用多少次,只要值不修改,它就会走第一次的缓存,后面3次被缓存。
计算属性是基于它们的响应式依赖进行缓存的。只有当它的相关依赖发生改变时才会重新求值。
我们再试试methods。
也是调用了4次,结果没有缓存。
这就是计算属性和方法之间的区别。功能上是一样。
computed的性能是不是比methods要好啊? 必须的。但是在特殊情况下,必须要用某些东西,比如说点击按钮跳转页面:肯定要用methods
2.computed VS watch
watch是监听,数据或者路由发生了改变才可以响应(执行),不改是不能监听的。
computed可以计算某个属性的改变,如果某一个值改变了,计算属性检测到会进行返回。
watch是当前监听到数据改变了,才会执行内部代码。