news 2026/1/24 17:17:37

vue3中watch和watchEffect的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vue3中watch和watchEffect的区别

watchwatchEffect都是 Vue 3 的侦听 API,但定位不同:watch更“精确监听某个源”,watchEffect更“自动收集依赖做副作用”。

核心区别

  • 监听对象
    • watch:你要“明确写出”监听源(ref/getter/数组等)。
    • watchEffect:不写监听源,回调里“用到什么响应式数据就监听什么”(自动依赖收集)。
  • 是否立即执行
    • watch:默认不立即执行,需{ immediate: true }才会先执行一次。
    • watchEffect:默认立即执行一次。
  • 是否能拿到新旧值
    • watch:回调参数是(newVal, oldVal),便于做差异逻辑。
    • watchEffect:没有显式(new, old)(本质是“重新跑一遍副作用”)。
  • 适用场景
    • watch:适合“某个值变化后做事”,尤其需要 new/old、需要精确控制触发条件时。
    • watchEffect:适合“依赖很多/不确定依赖哪些”的副作用同步(例如根据多个响应式值更新外部状态)。
  • 停止与清理
    • 两者都返回stop()可停止。
    • 两者都支持清理副作用:watch的第 3 个参数onInvalidatewatchEffect的参数onCleanup(用法类似,解决请求竞态/取消订阅)。

简单示例对比

watch:明确监听keyword

watch( () => keyword.value, (newK, oldK) => { // 需要 new/old 做对比 }, { immediate: true } )

watchEffect:自动收集依赖

watchEffect((onCleanup) => { // 这里读了 keyword、page,就会自动监听它们 // 适合把多个依赖驱动的副作用写在一起 })

怎么选

  • 要“明确监听谁”、要 new/old、要避免误触发 → 用watch
  • 依赖多且会变、想省去列依赖、做副作用同步 → 用watchEffect
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/18 20:43:27

基于STM32的智能水质检测鱼缸监测系统设计与实现

基于STM32的智能水质检测鱼缸监测系统设计与实现 摘要 随着人们生活水平的提高和对生活品质的追求,水族养殖和观赏鱼产业蓬勃发展。然而,水质管理是水族养殖的核心挑战,不当的水质参数会导致鱼类疾病甚至死亡。传统水质监测方法依赖人工定期…

作者头像 李华
网站建设 2026/1/17 12:19:51

leetcode 3562

3562: 折扣价交易股票的最大利润注:数据范围说 hierarchy.length n - 1,且 员工 1 是所有员工的直接或间接上司,所以输入是一个 n 点 n−1 边的连通图,即树。思路:树上背包 状态机 DP寻找子问题 站在节点 x 上&#…

作者头像 李华
网站建设 2026/1/23 5:28:09

歌词写作伙伴:LobeChat帮你押韵和分段

歌词写作伙伴:LobeChat帮你押韵和分段 在音乐创作的世界里,一句恰到好处的副歌往往能让人瞬间入心。但对许多创作者而言,写出既情感充沛又结构工整、押韵自然的歌词,仍是一项极具挑战的任务——尤其是当灵感枯竭时,“卡…

作者头像 李华
网站建设 2026/1/24 15:29:41

LobeChat SDK开发计划展望:加速第三方集成

LobeChat SDK开发计划展望:加速第三方集成 在企业争相拥抱大模型的今天,一个现实问题愈发突出:如何让 AI 聊天能力快速、安全、低成本地融入现有系统?很多团队尝试从零自研聊天界面,却发现这不仅耗时耗力——UI 设计、…

作者头像 李华
网站建设 2025/12/26 0:47:28

第十六篇:Day46-48 前端安全进阶——从“漏洞防范”到“安全体系”(对标职场“攻防实战”需求)

一、前置认知:前端安全的核心价值与职场痛点在完成前端性能优化后,我们具备了打造“快且稳”产品的能力,但“安全”是产品生命线——某电商平台因XSS漏洞导致百万用户Cookie被窃取,直接造成千万级经济损失;某金融APP因…

作者头像 李华