Code前端首页关于Code前端联系我们

Vue3怎么手动触发watch?watchEffect能手动触发吗?

terry 12小时前 阅读数 156 #Vue

做Vue开发久了,大家肯定都习惯了Vue的响应式机制,组件里的数据一变,相关的watch或者watchEffect就自动跑起来处理逻辑,但有时候偏偏会遇到“反常规”的需求:数据没变化,或者不想改数据触发副作用,却要让watch的回调再执行一遍,比如电商详情页加载完商品数据后,想手动刷新一下优惠券列表的监听;又或者做编辑器时,用户点击“重新预览”按钮,需要强制触发计算属性之外的监听逻辑,这时候就涉及Vue3手动触发watch的问题了,而且很多人还会顺便问一句,watchEffect能不能也这么操作?今天咱们就把这两个点说透,连带着可能踩的坑也一起讲明白。

先理清楚:Vue3的watch有几种写法?手动触发的基础是什么?

在讲手动触发之前,得先回忆下Vue3里watch的核心逻辑,不然讲了方法也不知道为什么能行,Vue3的watch底层是依赖effect函数的,不管是写setup()里的watch,还是