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

Vue3:watch(监听事件)

目录

  • 一、基本概述
  • 二、watch监听值
  • 三、watch监听对象


一、基本概述

在项目的开发过程中,我们经常会遇到监听值或者对象的变化,然后进行后续逻辑操作的场景,Vue3为我们提供了watch监听方法。

二、watch监听值

在Vue3中,监听值的语法格式:

watch(input, (newValue, oldValue) => {console.log("新值", newValue)console.log("旧值", oldValue)
})

案例:在我们修改输入框里面的内容时,打印修改之前和修改之后的值。

<template><view class="box"><page-head title="变量监听"></page-head><view class="box-container"><input type="text" v-model="input" placeholder="请输入..."><view>输入内容:{{input}}</view></view></view>
</template>
<script setup>
import { ref, watch } from 'vue';const input = ref("")
watch(input, (newValue, oldValue) => {console.log("新值", newValue)console.log("旧值", oldValue)
})
</script>

三、watch监听对象

在Vue3中,监听对象的语法格式一共有两种:

方法一:监听对象中的某一个属性的变化

watch(() => person.value.name, (newValue, oldValue) => {console.log("新值", newValue)console.log("旧值", oldValue)
})

方法二:监听整个对象的变化

属性含义备注
deep深度监听如果是监听整个对象,必填
immediate在监听器创建时,立即执行在特定的场景中会使用到
watch(person, (newValue) => {console.log("新值", JSON.stringify(newValue))
}, {deep: true, immediate: true})

案例:在我们修改用户对象的姓名时,监听对象中值的变化。

<template><view class="box"><view class="box-container"><input type="text" v-model="person.name" placeholder="请输入..."><view>输入内容:{{person}}</view></view></view>
</template><script setup>
import { ref, watch } from 'vue';const person = ref({name: "张三", age: 12})
// watch(() => person.value.name, (newValue, oldValue) => {
//   console.log("新值", newValue)
//   console.log("旧值", oldValue)
// })watch(person, (newValue) => {console.log("新值", JSON.stringify(newValue))
}, {deep: true, immediate: true})</script>
http://www.xdnf.cn/news/109261.html

相关文章:

  • 【阿里云大模型高级工程师ACP习题集】2.3 优化提示词改善答疑机器人回答质量
  • 基于javaweb的SpringBoot扶农助农平台管理系统设计与实现(源码+文档+部署讲解)
  • 【OceanBase相关】01-OceanBase数据库部署实践
  • java面试题及答案2020,java最新面试题(四十四)
  • 民宿管理系统4
  • 基于ESP32 - S3的MD5校验算法的C语言例程
  • 动态显微镜数据分析及AI拓展
  • 字典树(前缀树)的实现(5)0423
  • Linux: 进程的调度
  • spring-session-data-redis使用
  • # 深度学习中的学习率调度:以 PyTorch 图像分类为例
  • 扣子空间试用:生成五一骑行规划+notion文章编写
  • 青少年编程与数学 02-018 C++数据结构与算法 06课题、树
  • 2022 年 9 月青少年软编等考 C 语言七级真题解析
  • 文献分享:广谱性谷蛋白肽-HLA-DQ2.5复合物中和抗体的表征
  • Qt多线程学习初级指南
  • lerobot[act解析]
  • 【浙江大学DeepSeek公开课】走向数字社会:从DeepSeek到群体智慧
  • JDK(Ubuntu 18.04.6 LTS)安装笔记
  • OrbStack 全面介绍:功能、安装与使用指南
  • Java 拦截器完全指南:原理、实战与最佳实践
  • 【Flutter高效开发】GetX指南:一文学会状态管理、路由与依赖注入
  • BEVFormer论文解读
  • 如何实现应用创新:一个实用框架
  • Java 开发瓶颈破局:飞算 JavaAI 如何一站式生成标准化项目结构?
  • 本节课课堂总结
  • kotlin与MVVM结合使用总结(一)
  • 按照文本每行匹配文件复制到指定位置
  • CONDA:用于 Co-Salient 目标检测的压缩深度关联学习(总结)
  • 开源 RAG 引擎:文档理解精准、检索高效、可视化干预灵活,一站式搞定