Vue中的computed和watch都有监控数据变化的功能,但它们之间存在一些重要的区别。
综上,对于频繁访问且依赖值不会改变的情况,推荐使用computed;而对于数据变化处理较为复杂或者涉及异步的情况,则推荐使用watch。
computed:
1. computed是计算属性,也就是计算值,它更多?于计算值的场景
2. computed具有缓存性,computed的值在getter执?后是会缓存的,只有在它依赖的属性值改变之后,下?次获取computed的值时才会重
新调?对应的getter来计算
3. computed适?于计算?较消耗性能的计算场景
watch:
1. 更多的是「观察」的作?,类似于某些数据的监听回调,?于观察props$emit或者本组件的值,当数据变化时来执?回调进?后续操作
2. ?缓存性,页?重新渲染时值不变化也会执?
?结:
1. 当我们要进?数值计算,?且依赖于其他数据,那么把这个数据设计为computed
2. 如果你需要在某个数据变化时做?些事情,使?watch来观察这个数据变化