目录 watchEffect 侦听器 watchEffect 侦听器使用 watchEffect 监听基本数据 watchEffect 监听复杂数据 watchEffect 啥时候执行 关闭 watchEffect 监听 上一节我们学习了 watch 侦听器的基础用法,用来监听
目录
- watchEffect 侦听器
- watchEffect 侦听器使用
- watchEffect 监听基本数据
- watchEffect 监听复杂数据
- watchEffect 啥时候执行
- 关闭 watchEffect 监听
上一节我们学习了 watch 侦听器的基础用法,用来监听页面数据的变化,那么今天呢,我们来学习一下 watch 侦听器的好兄弟 watchEffect 侦听器。这个相对来说比较简单,用的不是很多,当然了,根据自己的项目情况自行决定使用。这个就不详细说了,简单过一下子。
watchEffect 侦听器
其实我觉得这个玩意儿哈,不用也罢,啊哈哈哈哈哈!
怎么说呢,你可以理解成 watch 和 watchEffect 这两个玩意儿的功能是一样的。
watch
:显示指定依赖源,依赖源更新时执行回调函数。watchEffect
:自动收集依赖源,依赖源更新时候重新执行自身。
- watchEffect 如果存在的话,组件初始化的时候就会自动自行一次,不需要像 watch 一样设置立即执行。
- watch 每次回调之后是可以获取到最新值和上一次的老值,但是 watchEffect 是拿不到的。
- watchEffect 不需要指定监听的属性,他会自动进行依赖收集,只要我们回调中使用了响应式的属性,那么这些属性在变更之后这个回调都会执行,不像 watch 只能监听指定的属性。
- 使用的时候也是需要引入。
- 记住一点哈, watch 可以代替 watchEffect,但是 watchEffect 不能替代 watch。
总结:能用 watch 就不要用 watchEffect。
watchEffect 侦听器使用
首先我们写一个简单的 watchEffect 侦听器。
<template> <div> <h1>{{name}}</h1> <button @click="btn">修改name</button> </div> </template> <script> import { ref, watchEffect } from "vue"; export default { name: "App", setup() { const name = ref("我是