Vue 3 组合式函数里用 watch 监听 props 的坑:为什么你的回调不触发?
在 Vue 3 的组合式 API 中,把响应式逻辑抽成 composable 函数已经成了标准做法。但当你试图在 composable 内部用 watch 去监听传进来的 props 时,很容易掉进一个陷阱:回调死活不执行。这个问题在表单联动、弹窗状态同步、异步数据重新请求等场景下特别常见。根本原因通常不是 watch 坏了,而是你在 composable 参数解构时就已经把响应性丢了。很多人习惯写 const { userId } = props,然后 watch(userId, ...),此时 userId 只是一个普通字符串,watch 自然无从追踪。另一种情况是监听整个 props 对...