千家信息网

vue3中watch和watchEffect怎么使用

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"vue3中watch和watchEffect怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"vue3中watch和watch
千家信息网最后更新 2025年11月07日vue3中watch和watchEffect怎么使用

这篇文章主要讲解了"vue3中watch和watchEffect怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"vue3中watch和watchEffect怎么使用"吧!

一、watch 新用法

选项式API中,watch 使用

watch:{ mood(curVal,preVal){  console.log('cur',curVal);//最新值  console.log('pre',preVal);//修改之前的值 }}

1.1、watch 使用语法

Composition API 中,使用 watch 时,必须先引入。

使用语法为:

import { watch } from "vue"watch( name , ( curVal , preVal )=>{ //业务处理  }, options)

共有三个参数,分别为:

  • name :需要帧听的属性

  • (curVal,preVal)=>{ //业务处理 } 箭头函数,是监听到的最新值和本次修改之前的值,此处进行逻辑处理。

  • options :配置项,对监听器的配置,如:是否深度监听。

页面刚进入的时候并不会执行,值发生改变的时候,才会打印出当前最新值和修改之前的值。

示例1:监听一个数据

import { ref , watch } from "vue"export default{ setup(){  const mood = ref("")  //帧听器  watch(mood,(curVal,preVal)=>{   console.log('cur',curVal);   console.log('pre',preVal);  },{   //配置项  })  return{   mood  } }}

watch 也可以监听多个属性值,此时传入的数据变成数组形式,配置项保持不变。

1.2、watch 监听多个属性值

示例2:监听多个属性

watch([mood,target],([curMood,curTarget],[preMood,preTarget])=>{ console.log('curMood',curMood); console.log('preMood',preMood); console.log('curTarget',curTarget); console.log('preTarget',preTarget);},{  //配置项})

1.3、watch 监听引用数据类型

watch 监听引用数据类型时,如果只监听其中某个属性时,

使用语法如下:

watch(()=>obj.name,(curValue,preValue)=>{ //帧听引用数据类型的某个属性},{ //配置项})

第一个参数,回调函数返回的是需要帧听对象的属性。后边的参数与上边的一致。

示例3:帧听对象某个属性

如果我们试着把属性去掉,直接监听整个对象,发现watch好像失效了。此时我们就需要引入 watchEffect

二、watchEffect

watchEffect 也是一个帧听器,是一个副作用函数。它会监听引用数据类型的所有属性,不需要具体到某个属性,一旦运行就会立即监听,组件卸载的时候会停止监听。

示例4:监听对象

watchEffect 参数只有一个回调函数。此时刷新页面进入,watchEffect 就会打印结果。

三、watch 与 watchEffect 区别和联系

watchwatchEffect 都是监听器,那么它们之间有什么关系呢?

3.1、watch特点

watch 监听函数可以添加配置项,也可以配置为空,配置项为空的情况下,

watch的特点为:

  • 有惰性:运行的时候,不会立即执行。

  • 更加具体:需要添加监听的属性。

  • 可以访问属性之前的值:回调函数内会返回最新值和修改之前的值。

  • 可配置:可以添加配置项。

3.2、watch 配置项

watch 的配置项可以补充watch特点上的不足,可以配置的有:

  • immediate:配置watch属性是否立即执行,值为 true 时,一旦运行就会立即执行,值为false时,保持惰性。

  • deep:配置 watch 是否深度监听,值为 true 时,可以监听对象所有属性,值为 false 时保持更加具体特性,必须指定到具体的属性上。

3.3、watchEffect 特点

watchEffect 副作用函数它的特点分别为:

  • 非惰性:一旦运行就会立即执行。

  • 更加抽象:使用时不需要具体指定监听的谁,回调函数内直接使用就可以。相比watch比较难理解。

  • 不可访问之前的值:只能访问当前最新的值,访问不到修改之前的值。

3.4、watch 与 watchEffect 联系

watch 的前两个特点与 watchEffect 的两个特点刚好相反,watch 通过配置项可以修改成带有 watchEffect 特点。

示例5watch 监听对象

感谢各位的阅读,以上就是"vue3中watch和watchEffect怎么使用"的内容了,经过本文的学习后,相信大家对vue3中watch和watchEffect怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

监听 配置 属性 函数 特点 对象 数据 示例 参数 时候 类型 运行 多个 惰性 语法 处理 学习 业务 两个 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国百家姓数据库 网络安全会标 网络通信及网络安全平台方案 重庆有多少软件开发岗 强商软件开发 软件开发的速度 串口服务器读不上数什么情况 福建java软件开发服务 数字化档案管理服务器 银川网络安全教育平台登录 什么叫软件开发环境 数据库下载不下来怎么办 常州常用网络技术创新服务 江教在线网络安全知识答题无效 武汉移动网络技术岗位 学应用软件开发以后能当官吗 linux服务器日志管理 思科模拟器web服务器怎么编译 天津电动汽车热管理软件开发公司 兰帕网络技术深圳有限责任公司 数据库表怎么添加一个容器 软件开发外包厂家有哪些 计算机网络安全技术类工作 vc 实用教程第七章数据库 网络安全班会主题内容大全 学软件开发用多大内存电脑 论述网络安全的机遇及挑战 网络安全画无字 网络运维与网络安全工程师薪资 网络安全app优势
0