原文链接: vue3 watch
上一篇: vue3 简单上手
下一篇: vue3 provide ref
watch
监听ref
let a = ref(0)
let b = ref(1)
watch(() => {
console.log('watch a+b', a.value + b.value)
})
watch(a, () => {
console.log('watch a', a.value + b.value)
})
setTimeout(
() => {
a.value++
}, 1000
)
setTimeout(
() => {
b.value++
}, 2000
)
默认是先执行一次, 不指定监听的数据源时, 只要关联数据变化, 就会执行, 指定监听源时, 只有指定的数据变化后才会执行
监听reactive
let a = reactive({count: 1})
let b = reactive({count: 2})
watch(() => {
console.log('a+b', a.count + b.count)
})
watch(() => a.count, () => {
console.log('a.count', a.count + b.count)
})
watch(() => a, () => {
console.log('a', a.count + b.count)
})
setTimeout(() => {
a.count++
}, 1000)
setTimeout(() &