用户12771345
Vue 3 中 watch 和 watchEffect 的依赖收集差异导致的一个隐蔽 bug
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户12771345
社区首页
>
专栏
>
Vue 3 中 watch 和 watchEffect 的依赖收集差异导致的一个隐蔽 bug
Vue 3 中 watch 和 watchEffect 的依赖收集差异导致的一个隐蔽 bug
用户12771345
关注
发布于 2026-10-01 08:32:45
发布于 2026-10-01 08:32:45
11
0
举报
概述
在最近维护的一个后台管理项目中,我遇到了一个很典型的问题:一个用于显示用户权限变更的 watch 回调在用户切换角色后偶尔不触发,但刷新页面后又恢复正常。排查后发现根源在于 watch 和 watchEffect 对响应式依赖的收集方式不同——watch 是惰性且显式声明依赖源,而 watchEffect 是立即执行并自动收集所有同步访问的响应式属性。这个差异在依赖包含条件分支或异步逻辑时尤其容易
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
vue3
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档