vue 中方法、计算属性、Watch监听的区别:
1,方法
- 方法函数时没有缓存的;
- 每次调用时,都会重新执行该函数,可以有返回值也可以没有返回值;
2,计算属性
- 计算属性是有缓存的,只要相关依赖没有改变,多次访问计算属性得到的值是之前缓存得到的计算结果,不会多次执行;
- 我们为什么需要缓存:
- 假设我们有一个性能开销比较大的计算属性 A,它需要遍历一个巨大的数组并做大量的计算,然后我们可能有其他的计算属性依赖于 A。如果没有缓存,我们将不可避免的多次执行 A 的 getter;
总而言之:对于任何复杂的计算逻辑都应使用计算属性进行处理并返回
3,Watch监听
当需要在数据变化时执行异步或开销较大的操作时,使用watch监听是最有用的
;- 使用 watch 监听允许我们执行异步操作 (访问一个 API),限制我们执行该操作的频率,并在我们得 到最终结果前,设置中间状态。这些都是计算属性无法做到的;
- 设置{immediate: true }属性 将立即以表达式的当前值触发回调;