最近使用vue3.0的watch监听数据时发现一些问题:
监听数组时,用splice这种改变数组是正常的,但是如果数组直接置空,则监听失效
const array = ref([1,2,3]);
const changeArr = ()=>{
array.value = [];
}
watch(array.value,(now,old)=>{
console.log(now,old); // 触发changeArr的时候,监听不到
})
解决方案:
watch(() => [array.value], (now, old) => {
console.log(now, old)
})