在Vue中,computed和watch都是用于监听数据变化并执行相应操作的方法,但它们的使用场景和实现方式有所不同computed是计算属性,它会根据依赖的数据动态计算出一个新的值,并缓存起来,只有当依赖的数据发生变化时才会重新计算。computed适用于需要根据多个数据计算出一个新值的场景,例如计算商品总价、过滤列表等。
watch是监听器,它会在数据发生变化时执行相应的回调函数。watch适用于需要在数据变化时执行异步或复杂操作的场景,例如发送网络请求、操作DOM等。
另外,computed是基于依赖的数据进行缓存的,只有当依赖的数据发生变化时才会重新计算,而watch则是在数据变化时立即执行回调函数。因此,如果需要在数据变化时立即执行某些操作,应该使用watch;如果需要根据多个数据计算出一个新值,并且这个值不需要实时更新,应该使用computed。
watch immediate:true 初始化监听 deep 深度监听