vue3里的watch与 watchEffect

watchEffect特点:

  1. 回调函数立即调用

  2. 回调函数依赖的数据都会被监控

  3. 深度监控

watch与 watchEffect

  1. 相同点 都可以对数据进行侦听

  2. 不同点 watchEffect回调函数立即调用、对回调函数依赖的数据隐式监控、默认深度监控

  3. watch 和 watchEffect 都能监听响应式数据的变化,不同的是它们监听数据变化的方式不同。

  4. watch 会明确监听某一个响应数据,而 watchEffect 则是隐式的监听回调函数中响应数据。

  5. watch 在响应数据初始化时是不会执行回调函数的,watchEffect 在响应数据初始化时就会立即执行回调函数。

javascript 复制代码
<template>
  <div>
    <!-- 情况一:监视ref定义基本数据类型的响应式数据 -->
    <h2 ref="qyz">{{ sum }}</h2>
    <button @click="sumadd">sum++</button>
  </div>
</template>
<script setup>
import { ref, reactive, computed, watch, watchEffect,watchPostEffect } from 'vue'
let sum = ref(0)
let qyz = ref(null)
const sumadd = () => {
  sum.value++
}
watchEffect(
  (onInvalidate) => {//watch是在第三个函数,而watchEffect是在第一个
    console.log('DOM节点:', qyz.value.innerHTML)
    console.log(sum.value)
    console.log('青阳子')
    onInvalidate(() => {
      console.log(2222)
    })
  },
  { flush: 'post' }
)
    </script>
相关推荐
LCG元几秒前
Vue.js组件开发-实现全屏图片文字缩放切换特效
前端·javascript·vue.js
xrgs_shz9 分钟前
MATLAB的数据类型和各类数据类型转化示例
开发语言·数据结构·matlab
还是鼠鼠1 小时前
图书管理系统 Axios 源码__新增图书
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
来恩10033 小时前
C# 类与对象详解
开发语言·c#
komo莫莫da4 小时前
寒假刷题Day19
java·开发语言
ElseWhereR4 小时前
C++ 写一个简单的加减法计算器
开发语言·c++·算法
还是鼠鼠4 小时前
图书管理系统 Axios 源码 __删除图书功能
前端·javascript·vscode·ajax·前端框架·node.js·bootstrap
轻口味4 小时前
Vue.js `Suspense` 和异步组件加载
前端·javascript·vue.js
※DX3906※5 小时前
cpp实战项目—string类的模拟实现
开发语言·c++
wjs20245 小时前
Nginx 安装配置指南
开发语言