vue中不同的watch方法的坑
1. watch 单个值,使用getter
()=> a,vlue
2. watch 多个值,使用数组
[a, b] 或 [() => a.value, () => b.value]
不要用 () => [a.value, b.value] ,因为总是返回新数组,导致watch每次都触发
3. 使用ref定义的对象/数组
watch 不用加deep: true,也能监控到内部深层的变化
4. 在store 中的值,比如使用 pinia 定义的变量
需要加 deep: true, 才能监控到内部变化
5. 假设一个数组,你是用 deepclone等方式,深拷贝重新赋值,那这个数组的引用就变化了,所以你就能watch到这个变化,但是如果要监听数组内部对象的具体变化,还是需要deep: true
6.在 watch 中使用console.error 依旧可以打印出导致watch触发的整个调用栈。