欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > Vue:watchEffect的作用与性质

Vue:watchEffect的作用与性质

2024/10/26 14:26:10 来源:https://blog.csdn.net/qq_48597462/article/details/142260345  浏览:    关键词:Vue:watchEffect的作用与性质

目录

一.watchEffect的作用

二.watchEffect的性质

三. `watch`对比`watchEffect`

四.watchEffect的使用


在 Vue 中,watchEffect 是一个用于副作用处理的函数,它是 Vue 3 Composition API 的一部分。它的主要作用是自动追踪其内部依赖的响应式状态,并在依赖发生变化时重新执行。立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行该函数。

一.watchEffect的作用

  • 自动收集依赖watchEffect 会自动收集其内部使用的所有响应式状态,并在这些状态变化时重新执行。
  • 执行副作用:它允许你执行一些依赖于响应式状态的副作用,比如数据请求、计算或 DOM 操作。
  • 性能优化:由于 watchEffect 会智能地追踪依赖,因此它只会在其依赖发生变化时才执行,这有助于避免不必要的计算和性能损耗。

二.watchEffect的性质

  1. 自动依赖追踪:当你在 watchEffect 中访问响应式状态时,Vue 会自动将这些状态标记为依赖,并在状态变化时重新执行 watchEffect

  2. 立即执行watchEffect 在被调用时会立即执行一次,并追踪其内部依赖。

  3. 返回停止函数watchEffect 返回一个函数,该函数可以用来停止 watchEffect 的执行。调用这个返回的函数可以停止追踪依赖和执行副作用。

  4. 响应式更新:当 watchEffect 中的响应式状态发生变化时,Vue 会自动更新 DOM。

三. `watch`对比`watchEffect`

特性watchwatchEffect
依赖追踪显式指定自动追踪
执行时机惰性执行(默认)立即执行
回调函数参数接收新值和旧值不接收参数
适用场景需要精确控制监听哪些状态需要自动追踪所有依赖
停止监听返回停止函数返回停止函数

四.watchEffect的使用

<template><div><p>{{ message }}</p><p>{{ count }}</p></div>
</template><script>
import { ref, watchEffect } from 'vue';export default {setup() {const message = ref('Hello');const count = ref(0);// watchEffect 将立即执行一次,并在依赖项变化时重新运行watchEffect(() => {console.log(`count is: ${count.value}`);// 这里可以执行一些副作用,例如更新 DOM 或发送请求});// 停止 watchEffectconst stopWatch = watchEffect(() => {console.log(`count is: ${count.value}`);});// 当你想要停止监听时,可以调用这个函数// stopWatch();return {message,count};}
};
</script>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com