news 2026/8/13 18:49:24

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/8/14 15:20:52

LobeChat国际社区动态:全球开发者共同维护

LobeChat国际社区动态:全球开发者共同维护 在大语言模型(LLM)技术飞速发展的今天,AI能力正以前所未有的速度渗透进各行各业。然而,一个现实问题摆在面前:大多数用户并不关心底层模型是GPT-4还是Llama 3&…

作者头像 李华
网站建设 2026/8/13 8:52:00

基于STM32的水质检测系统设计与实现

基于STM32的水质检测系统设计与实现 摘要 随着工业化和城市化的快速发展,水环境污染问题日益严重,对人类健康和生态系统构成威胁。传统的水质检测方法存在成本高、操作复杂、无法实时监测等局限性。本设计基于STM32微控制器开发了一套便携式水质检测系…

作者头像 李华
网站建设 2026/8/13 18:53:29

重构智慧书-第18条:实力与实干

一、原文呈现实力与实干要得声名显赫,必须兼有实力与实干精神。有了这两者,显赫的声名就会如虎添翼。有实干精神的平庸之辈比无实千精神的高明之辈更有成就。实干创实绩。肯出大力者必得大名。有的人连最简单的事情也不肯下力去干。干与不干,差不多总与一…

作者头像 李华
网站建设 2026/8/12 12:51:45

读捍卫隐私08智能出行

1. 互联网电话 1.1. 和打印机一样,VoIP电话的系统更新也可以被伪造和接受 1.2. 大多数VoIP电话都有一个免提选项,让你可以在你的隔间或办公室中将某人的通话用扬声器播放 1.2.1. 意味着在电话听筒之外不仅有一个扬声器,还有一个麦克风 1.…

作者头像 李华
网站建设 2026/8/14 15:59:39

媒体专访实录:LobeChat创始人谈开源初心

LobeChat 技术架构深度解析:从容器化部署到插件生态的全栈实践 在大模型浪潮席卷全球的今天,AI 对话系统早已不再是实验室里的概念玩具。从客服机器人到个人助手,自然语言交互正成为数字世界的新入口。然而,当 OpenAI 的 ChatGPT …

作者头像 李华