最新版vue3+TypeScript开发入门到实战教程之watch与watchEffect对比区别

1、概述

上节: 详解watch用法,watch功能是监视某些数据的变化,一旦发生变化,调用回调,传递新旧数值。watchEffect官方定义如下:
立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行。

简言之,watchEffect是一个函数,只需向 watchEffect 传递一个函数即可。在这个函数内部,你引用的任何响应式数据都会被自动监视其变化。

以下通过两个实例对比watch与watchEffect区别

2、watch事例

  • 创建Fish组件,引入ref、watch

  • 创建鱼类价格与重量

  • 调用watch

  • 当价格大于15且重量大于5,就能赚到钱了

运行效果如下图,watch通过数组的方式监视price与weight变化,由于我们不关注旧值的数据,参数只有newValue。当点击按钮超过对应值时,打印赚到钱了。

3、watchEffect事例

  • 创建Fish组件,引入ref、watchEffect

  • 创建鱼类价格与重量

  • 调用watchEffect

  • 当价格大于15且重量大于5,就能赚到钱了

运行效果如下图,watchEffect会自动监视price与weight变化,并在页面加载成功时,就调用一次watchEffect。后边当点击修改价格修改重量按钮时,watchEffect都会被调用。

4、对比watch与watchEffect区别

  • 都能监听响应式数据的变化,不同的是监听数据变化的方式不同
  • watch:要明确指出监视的数据
  • watchEffect:不用明确指出监视的数据(函数中用到哪些属性,那就监视哪些属性)
相关推荐
码上暴富1 分钟前
Cursor / VS Code 自定义文件颜色
前端·vscode
开开心心就好5 分钟前
电子教鞭工具支持画框写字插图片功能齐全
android·开发语言·前端·javascript·人工智能·pdf·html
CarIise1 小时前
下拉菜单HTML/CSS/JS实现
前端·css
2601_962071571 小时前
Java进阶(vue基础)
前端·javascript·vue.js
研☆香1 小时前
数组方法 splice讲解 拓展
开发语言·前端·javascript
码视野1 小时前
基于 Spring Boot + Vue3 的【城市地下燃气管网微泄漏感知与相邻地下空间燃爆预警中台】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端
淡海水1 小时前
05-03-栈队列-PriorityQueue-TElement-TPriority-NET6优先队列语义与四叉堆实现
服务器·前端·c#·priorityqueue·clr·telement
ITresearchGuest2 小时前
LangChain JS 入门:快速搭建前端 AI 开发环境
前端·javascript·langchain
YHHLAI2 小时前
React + TypeScript 实战:从零构建颜色选择器应用
前端·react.js·typescript
Profile排查笔记2 小时前
指纹浏览器手机版怎么选?从本地 App 到云端 Android 的实现方式解析
前端·人工智能·后端·自动化