最新版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:不用明确指出监视的数据(函数中用到哪些属性,那就监视哪些属性)
相关推荐
GreenTea2 小时前
GrokBot 核心成员 Lauren Tan:每月交付 2000 个 PR 的人,是怎么用 AI 的
前端·后端·架构
mCell3 小时前
用 Knip 清理 AI Coding 留下的冗余代码
前端·ai编程·前端工程化
dy17173 小时前
vue2树节点刷新后定位到上一节点展开
vue.js
笃行3504 小时前
使用Rokid AIUI做了一个童年推箱子游戏
前端
excel5 小时前
前端加密的作用与使用场景
前端
计算机魔术师6 小时前
纽约时报版权诉讼披露:微软高管内部称训练 AI 是人类历史上最大规模劳动窃取
前端
去伪存真6 小时前
大模型的参数量为什么那么大?
前端·人工智能
IT_陈寒6 小时前
Java空指针这次真把我坑惨了
前端·人工智能·后端
掰头战士7 小时前
多重影分身!恨不得把一个agent掰成两个? 还真能干!
typescript·llm·agent
高级程序源7 小时前
django大学生创新创业项目管理系统94923-计算机课程设计、毕业设计
javascript·vue.js·spring boot·后端·python·django·课程设计