当前位置: 首页 > wzjs >正文

济南区网站开发成人编程培训机构排名前十

济南区网站开发,成人编程培训机构排名前十,装修网站建设服务商,app开发需要多久在 Vue 3 里,watch 和 watchEffect 都是用于响应式数据变化的 API,但它们在使用方法和应用场景上存在差异。下面详细介绍它们的用法和区别。 用法 watch watch 用于监听特定的响应式数据源,当数据源发生变化时,会执行相应的回调…

在 Vue 3 里,watchwatchEffect 都是用于响应式数据变化的 API,但它们在使用方法和应用场景上存在差异。下面详细介绍它们的用法和区别。

用法

watch

watch 用于监听特定的响应式数据源,当数据源发生变化时,会执行相应的回调函数。它可以监听单个数据源,也能监听多个数据源。

监听单个数据源

import { ref, watch } from 'vue';const count = ref(0);watch(count, (newValue, oldValue) => {console.log(`count 从 ${oldValue} 变为 ${newValue}`);
});count.value = 1;

在这个例子中,watch 监听 count 的变化,当 count 的值改变时,回调函数会被触发,打印出新旧值。

监听多个数据源

import { ref, watch } from 'vue';const count1 = ref(0);
const count2 = ref(0);watch([count1, count2], ([newCount1, newCount2], [oldCount1, oldCount2]) => {console.log(`count1 从 ${oldCount1} 变为 ${newCount1},count2 从 ${oldCount2} 变为 ${newCount2}`);
});count1.value = 1;

这里 watch 监听 count1count2 的变化,当其中任何一个值改变时,回调函数就会被触发。

watchEffect

watchEffect 会立即执行传入的函数,并自动追踪函数内部依赖的所有响应式数据。当这些依赖的数据发生变化时,函数会再次执行。

import { ref, watchEffect } from 'vue';let props = defineProps(['orderid','randomid'])
const count = ref(0);watchEffect(() => {//此函数内监听的任何值有变化都会触发此函数的执行,要想每次都执行可以外部引入随机数console.log('watchEffect',props.orderid,props.randomid)  //通过引入生成的随机数randomid,即使orderid没有变化,此函数也会执行一遍,实现实时刷新console.log(`count 的值是 ${count.value}`);});count.value = 1;

在这个例子中,watchEffect 会立即执行回调函数,打印出 count 的初始值。当 count 的值改变时,回调函数会再次执行,打印出新的值。通过引入生成的随机数randomid,即使orderid,count 没有变化,此函数也会执行一遍,实现实时刷新

区别

1. 触发时机
  • watch:默认情况下,只有当监听的数据源发生变化时,回调函数才会执行。它不会在组件初始化时立即执行回调函数,除非设置了 immediate: true 选项。
  • watchEffect:会立即执行传入的函数,并且在依赖的响应式数据发生变化时再次执行。
2. 依赖追踪
  • watch:需要明确指定要监听的数据源,它只会监听这些明确指定的数据源的变化。
  • watchEffect:会自动追踪函数内部依赖的所有响应式数据,无需手动指定。这使得代码更加简洁,但也可能导致意外的重新执行,因为任何被函数访问的响应式数据的变化都会触发函数的重新执行。
3. 旧值获取
  • watch:回调函数可以接收两个参数,分别是新值和旧值,方便对比数据的变化。
  • watchEffect:无法直接获取旧值,因为它没有明确的新旧值对比机制。
4. 应用场景
  • watch:适用于需要在数据变化时执行特定操作,并且需要对比新旧值的场景,比如在数据变化时发送网络请求、更新其他数据等。
  • watchEffect:适用于需要在响应式数据变化时自动更新副作用的场景,比如在数据变化时更新 DOM、计算派生数据等,不需要明确指定依赖的情况。
http://www.dtcms.com/wzjs/28812.html

相关文章:

  • 网站建设收费标准流程网站开发建站
  • 湖南品牌网站建设百度外推代发排名
  • 合肥专业做网站建设内容哪里有网站推广优化
  • 龙岩网站报价百度推广登录首页
  • html网站成品下载怎么查看域名是一级还是二级域名
  • 街道口做网站公司怎么做好网络销售
  • 中远建设集团有限公司网站找培训机构的app
  • 做360效果图网站免费查权重工具
  • 网站图片浏览特效怎么建立网站卖东西
  • 小学门户网站建设排行榜百度
  • php网站建设费用google网页版
  • 做民宿加盟哪些网站比较好子域名查询工具
  • 学校网站设计实验报告百度知道首页
  • 静态网站做等级保护淘宝联盟怎么推广
  • 猪八戒网站做设计兼职流程steam交易链接在哪看
  • 阜新市建设学校官方网站咨询公司
  • 百度网盘0基础网站开发教程短视频seo关键词
  • wordpress3.9漏洞在线观看的seo综合查询
  • 网站建设下一步工作计划2023年时政热点事件
  • 做网站行业统称叫什么行业百度地图推广电话
  • 网站建设技术规范专业软文平台
  • 1920网站banner尺寸百度如何推广广告
  • 广告公司网站官网南京百度推广
  • 上海做高端网站本地网络seo公司
  • 如何建立公司企业网站seo综合查询是什么意思
  • 云阳有没有做网站的河南seo和网络推广
  • 为网站做seo制作企业网站
  • 摄影作品可以在哪些网站投稿推广产品的文案
  • 行业平台网站建设百度竞价排名商业模式
  • asp.net做的网站模板下载seo外链增加