比如一个vue组件中有两组逻辑,他们都需要通过watch来监听同一个变量的变化。
//逻辑A
watch(test,()=>{
console.log('watch1')
})
//逻辑B
watch(test,()=>{
console.log('watch2')
})
那么这两个watch,最终运行时是:
1、两个watch运行时会自动合并成一个,代码执行顺序和编写顺序相同。
watch(test,()=>{
console.log('watch1')
console.log('watch2')
})
2、运行时也有两个watch,虽然监听的变量一样,但是各自处理各自的监听回调。
watch(test,()=>{
console.log('watch1')
})
watch(test,()=>{
console.log('watch2')
})
test会对应一个deps的存放依赖的数组,当test变化时,会遍历这个数组触发相关的回调。