vue3中watch/watchEffect用法

Vue 3 中 watch 监控的详细介绍 Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架,它提供了多种机制来响应数据的变化。在 Vue 3 中,watch是一个特别有用的选项,它允许你监听特定的数据属性,并在这些属性发生变化时执行自定义逻辑。本文将详细介绍 Vue 3 中watch的用法、工作原理以及一些最佳实践,并通过具体的代码示例帮助你更好地掌握这一功能。watchwatch选项用于定义一个或多个观察者(watcher),它们会监视指定的数据属性的变化。 阅读详情
watch的语法
// name: 需要观察的对象,curVal:新值,preVal:旧值,options:配置项,deep,immediate
watch(name,(curVal , preVal)=>{},{options})
基本类型
const count = ref(0);
watch(count,(newVal,oldVal) => {
     console.log('值改变了',newVal,oldVal)
 })
Object类型
const obj=ref({
	name:"李四",
	isCollapse:true
})
watch(obj,(newVal,oldVal) => {
    console.log('值改变了',newVal,oldVal)
  },
  { deep: true,immediate:true }
)
观察object类型单个属性
const obj=ref({
	name:"李四",
	isCollapse:true
})
watch(()=>obj.value.isCollapse,(newVal,oldVal) => {
    console.log('值改变了',newVal,oldVal)
  },
  { deep: true,immediate:true }
)
观察多个数据
const count = ref(0);
const obj=ref({
	name:"李四",
	isCollapse:true
})
watch([count,obj],(newVal,oldVal) => {
    console.log('值改变了',newVal,oldVal)
  },
  { deep: true,immediate:true }
)
watchEffect

watchEffect 也是一个帧听器,是一个副作用函数。 它会监听引用数据类型的所有属性,不需要具体到某个属性

  watchEffect(() => {
      console.log('name:',obj.name)
    })
watchEffect停止监听
const stop = watchEffect(() => {
  console.log('name:',obj.name)
})
const stopWatchEffect = () => {
  console.log('停止监听')
  stop();
}
区别
  • watch 特点
    watch 监听函数可以添加配置项,也可以配置为空,配置项为空的情况下,watch的特点为:
    有惰性:运行的时候,不会立即执行;
    更加具体:需要添加监听的属性;
    可访问属性之前的值:回调函数内会返回最新值和修改之前的值;
    可配置:配置项可补充 watch 特点上的不足:
    immediate:配置 watch 属性是否立即执行,值为 true 时,一旦运行就会立即执行,值为 false 时,保持惰性。
    deep:配置 watch 是否深度监听,值为 true 时,可以监听对象所有属性,值为 false 时保持更加具体特性,必须指定到具体的属性上。

  • watchEffect 特点
    非惰性:一旦运行就会立即执行;
    更加抽象:使用时不需要具体指定监听的谁,回调函数内直接使用就可以;
    不可访问之前的值:只能访问当前最新的值,访问不到修改之前的值;

vue3下的watcheffect 它立即执行传入的一个函数,同时响应式追踪其依赖,并在其依赖变更时重新运行该函数。也就是说,wactheffect会自动收集函数中的响应式依赖,并且初始化运行一次该函数(相当于watch开启了immediate:true) 阅读详情

相关推荐

vue3基础侦听器 watch watchEffect的详细使用

在setup函数中调用了watchEffect函数,并给该函数传递了一个回调函数,传入的回调函数会被立即执行一次,并且在执行的过程中会收集依赖(收集count的依赖)。注意,onWatcherCleanup 仅在 Vue 3.5+ 中支持,并且必须在 watchEffect 效果函数或 watch 回调函数的同步执行期间调用:你不能在异步函数的 await 语句之后调用它。而当DOM挂载时,会给buttonRef变量的ref对象赋值新的值,副作用函数会再次执行,打印出对应的元素。

qq_44136028的博客 2378

Vue3中 watch、watchEffect 详解

1. watch 的使用 语法 import { watch } from "vue" watch( name , ( curVal , preVal )=>{ //业务处理 }, options ) ; 共有三个参数,分别为: name:需要帧听的属性; (curVal,preVal)=>{ //业务处理 } 箭头函数,是监听到的最新值和本次修改之前的值,此处进行逻辑处理。 options :配置项,对监听器的配置,如:是否深度监听。 1.1 监听 ref 定义的响应式数据 &l

明天也要努力的博客 2万+

Vue 3 watch与watchEffect深度解析:精准监听与自动响应的实战指南

在Vue.js的响应式系统中,数据驱动视图是其核心设计理念。通过响应式数据绑定,当数据状态发生变化时,依赖该数据的视图会自动同步更新,这构成了现代前端框架的基础原理。这种机制极大地提升了开发效率,减少了手动DOM操作带来的复杂性。从技术价值来看,它实现了关注点分离,让开发者能够更专注于业务逻辑而非UI同步。在实际应用场景中,除了基础的声明式渲染,开发人员常常需要在特定数据变化时执行额外的副作用代码,例如发起网络请求、执行复杂计算或触发其他状态变更。这正是Vue 3中watch侦听器发挥作用的地方。watch

398

Vue3中的watch和watchEffect(知识脉络)

最近面试,问到`watch`和`watchEffect`的区别,在学习Vue3的路上知道了解过,但是自己的项目用的少或是没有运用到,对`watch`和`watchEffect`感受不够深刻,答不上来(真是菜!),写篇文章研究探讨一下。

DM_Cxx的博客 8376

vue3中watchEffect详细用法

template>// 数据// 监视 -- watchEffect实现,一上来就会执行,监听的是所有定义的响应式数据console.log("给服务器发请求");});</script>

jieweiwujie的博客 500

AD24-层次原理图的设计

4)在原理图关联对话框中双击需要放置方块图的子图,即激活方块图的放置,单击母图的空白处进行放置。3)设计-Create Sheet From Sheet,进入原理图关联对话框。4)放置-添加图纸入口,放置方块图的内部I/O端口并进行名称更改。2)放置-页面符,放置页面符,并执行Table完成属性设置。5)执行Ctrl+W,端口和内部I/O端口对应连接。1)创建一个工程并完成子图的每页原理图的设计。1)新建项目,创建Main原理图页。3)放置-的端口,放置方块图的端口。以上,就是层次原理图页的设计。

qq_52761962的博客 4933

vue3的CompositionAPI watchEffect/watch全部用法

watch和watchEffect

weixin_39838846的博客 283

多模态模型评测神器 | OpenCompass MMBench 了解一下!

MMBench 是 OpenCompass 研究团队自建的视觉语言模型评测数据集,可实现从感知到认知能力逐级细分评估。研究团队从互联网公开信息与权威基准数据集采集约 3000 道单项选择题 ,覆盖目标检测、文字识别、动作识别、图像理解、关系推理等 20 个细粒度评估维度。

OpenCompass的博客 7826

Vue3+Ts的setup()函数的Prop、Emit、Computed、WatchEffect、Watch、Provide/Inject用法

Vue3的setup()函数的Prop、Emit、Computed、WatchEffect、Watch、Provide/Inject用法

pig_pig32的博客 4630

瑞芯微RK809音频驱动

瑞芯微RV1126中的RK809音频驱动开发

m0_61899715的博客 5221

用LangFuse+LangChain打造可观测的AI应用:从埋点到成本监控实战

本文详细介绍了如何将开源可观测性平台LangFuse深度集成到基于LangChain构建的AI应用中,特别是电商客服机器人场景。通过从基础SDK集成、提示词管理到成本监控的完整实战,帮助开发者实现对LLM应用内部工作流的清晰追踪、问题排查与费用分析,从而打造稳定、可控的生产级AI应用。

dapp9builder的博客 711

Vue3+Ts<script setup>组合式API的Prop、Emit、Computed、WatchEffect、Watch、Provide/Inject、Ref用法

一、页面效果图 二、父组件代码 <template> <div class="user-box"> <div> <h2>父组件:</h2> <p>propRef:{{ propRef }}</p> <p>propReactive:{{ propReactive }}</p> </div> <div>

pig_pig32的博客 4564

WinCC与PLC在西门子逻辑赛项中的通信配置避坑指南

本文针对西门子逻辑赛项中WinCC与PLC通信配置的常见问题,提供了一套实战避坑指南。重点解析了WinCC、PLC与EET仿真平台的三角通信架构,强调了IP地址规划、防火墙设置等关键环节的注意事项,并给出了系统化的故障诊断流程与排查技巧,帮助选手和技术人员快速定位并解决通信故障,确保监控系统稳定运行。

weixin_29165725的博客 108

Vue中computed、watch、watchEffect的作用与区别

Vue中computed、watch、watchEffect的作用与区别

word_tian_的博客 594

软件测试面试题之易错题

(1)白盒测试:又称功能功能 测试、数据驱动测试和行为测试,是一种从用户观点出发的测试,被测程序为黑盒子, 通过测试来检测每个功能是否能够正常使用。(2)黑盒测试:又称结构测试和逻辑驱动 测试,是知道产品内部工作过程,通过测试来检测产品内部动作是否按照规格说明书 的规定去正常运行。(1)、测试需求分析;(2)动态白盒测试:需要对各个模块功能、模块间的接口、局部数据结构、主要执行路径、 错误处理等方面的测试。(2) 集成测试所测试的对象是模块间的接口,其目的是在找出在模块接口上面,包括整体体系结构上的问题;

m0_37449634的博客 679

18、未来医疗信息学中的太赫兹天线技术

本文探讨了太赫兹天线技术在医疗信息学中的关键作用,重点分析了分裂环谐振器和纳米结构光导天线(PCA)的设计与性能提升方法,介绍了相干与非相干太赫兹检测技术,并通过等效电路模型和数值模拟深入解析PCA工作机理。文章还展示了太赫兹技术在无创血糖监测、肿瘤检测等医疗诊断中的实验应用,总结了其非侵入性、高分辨率成像和多参数分析等优势,同时指出信号检测难、成本高和技术复杂等挑战。未来趋势包括设备小型化、效率提升及与人工智能融合,拓展至药物研发、皮肤与神经疾病诊断等领域,展现出变革医疗健康的巨大潜力。

milk8的博客 146

Vue2 和 Vue3 中的「计算属性」和「侦听器」

本文介绍了Vue3中setup函数内计算属性(computed)和侦听器(watch/watchEffect)的使用方法。计算属性可以通过三种方式实现:直接使用computed函数、通过defineComponent语法糖、或使用<script setup>语法糖。当需要getter和setter时,需传入包含get和set方法的对象。侦听器部分详细讲解了watch的基本用法,包括侦听单个/多个ref、数组和对象属性,以及immediate和deep配置选项的作用。文章还提到watchEffec

青蛙king的博客 2万+

Python数据分析全流程指南:从数据采集到可视化呈现的实战解析

在数字化转型浪潮中,数据分析已成为企业决策的核心驱动力。Python凭借其丰富的生态库和简洁的语法,成为数据分析师的首选工具。本文将以实战案例为脉络,拆解数据分析全流程的关键环节,通过具体代码和场景说明如何用Python完成从数据采集到可视化呈现的完整链路。

这家伙很懒,什么都没有留下 1681

VUE|学习笔记③(Vue3核心语法)

watch监视 watch的作用是监视数据的变化,且Vue3中的watch只能监视以下四种数据:ref/reactive定义的数据、函数返回的一个值(getter函数)以及包含以上内容的数组。 1. 情况一 监视ref定义的基本类型数据:直接写数据名即可,监视的是其value值的改变。 首先依然是要先引入watch。vue2中的watch是一个配置项,而vue3不再是一个配置项了而是一个函数。 这里用到的watch函数里面有两个参数,首先是要监视的对象,再是它的一个回调函数。

2403_89168113的博客 1067

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

记VUE2.X升级VUE3.0之路

vue3.0距今已发布很长时间,个人很喜欢3.0的更新内容,新版本解决了很多旧版本的痛点。比如在数据挂载原理,提升产品性能方面做了很多的工作。接下来会在此文章中不断更新本人在升级3.0过程中遇到的问题及解决方案。 Q1:watch 和watcheffect有什么区别 A: watch- 显式指定依赖源,依赖源更新时执行回调函数 watchEffect- 自动收集依赖源,依赖源更新时重新执行自身 讲人话就是,watchEffect 是在组件更新前会调用一遍(这个当然可以通过配置更改执行时机,但官方不.

凯扣叮博客 411

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VUE3随笔

Vue 3 的编译器在编译时做了许多优化,例如静态节点提升和动态节点绑定,从而在运行时减少了不必要的工作。它带来了许多新特性和改进,包括更好的性能、更小的打包大小、更好的TypeScript支持、全新的组合式 API,以及一些新的内置组件。在编译过程中,Vue 3对模板进行静态分析,提取出不会改变的部分,预编译为纯JavaScript,这大大提高了运行时的渲染效率。在 Vue 3 中,开发者会注意到一些重要的变化,主要体现在全局 API 的转移等,以及对 TypeScript 的更好支持上。

weixin_50012993的博客 2819

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

常用 的 Vue3 新增方法及用法

【代码】常用 的 Vue3 新增方法及用法。

qq_70036866的博客 597

Vue监听器(watch)深度解析:从基础语法到实战应用

在响应式编程中,数据变化监听是构建动态应用的核心机制。其原理在于通过观察者模式,在数据状态变更时自动触发预设的回调逻辑,从而实现数据与视图的同步。这一技术价值在于将开发者从繁琐的手动DOM操作中解放出来,专注于业务逻辑的实现。在实际工程实践中,监听器广泛应用于表单验证、搜索联想、数据同步等场景,特别是在处理异步操作和复杂状态管理时尤为关键。本文聚焦Vue框架中的watch监听器,深入探讨其基础语法、深度监听配置以及防抖优化等高级用法,并结合表单字段对比等实战案例,系统讲解如何避免无限循环和性能陷阱,帮助开发

weixin_34268843的博客 378

Vue3 基础介绍

将同一逻辑关注点相关的代码收集到一起,这就是组合式API(composition-api);实现组合式API的入口点就是setup函数;setup()

day day up 2464

浅谈vue3.0基本用法与优势

浅谈vue3.0 1, 3.0现状 发布一年多的时间了,3.0的社区有了相当的完善,同时也在迅速扩大, 推荐几个常用组件库 * element-plus 类似element的组件库 * vant 有赞, 已完成对3.0的适配 * ant-design-vue 类似于ant design * primevue ...

qq_42844731的博客 773

Vue3快速入门指南:从Vue2升级到Vue3

比较总结vue2和vue3常用语法的差异,带你快速升级到vue3!

近10年前端开发工作经验,为你分享日常经验所得 1778
上一篇: vue+element+unocss 创建动态收缩菜单
下一篇: typescript基础
小源学AI
博客等级 码龄6年 195粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小源学AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值