iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >老生常谈Vue中的侦听器watch
  • 436
分享到

老生常谈Vue中的侦听器watch

Vue侦听器watchVue侦听器Vuewatch 2022-11-13 18:11:50 436人浏览 泡泡鱼
摘要

目录一、侦听器watch1.1.初识侦听器watch1.2.Vue的data的watch1.3.Vue的watch侦听选项一、侦听器watch (思维导图不太完善,因为是按照自己看

一、侦听器watch

(思维导图不太完善,因为是按照自己看懂的方式记的,如有错误,还请指正)

1.1.初识侦听器watch

⭐⭐
watch:观看,监视

那么什么是侦听器watch

  • 开发中我们在data返回的对象中定义了数据,这个数据通过插值语法等方式绑定到template中;
  • 当数据变化时,template会自动进行更新来显示最新的数据;
  • 但是在某些情况下,我们希望在代码逻辑中监听某个数据的变化,这个时候就需要用侦听器watch来完成了;

1.2.Vue的data的watch

⭐⭐
案例:

  • 我们希望用户在input中输入一个问题;
  • 每当用户输入了最新的内容,我们就获取到最新的内容,并且使用该问题去服务器查询答案;
  • 那么,我们就需要实时的去获取最新的数据变化;
  • 此时就要用到侦听器watch去监听数据是否发生变化
const app = Vue.createApp({
        data() {
          return {
            message: "Hello Vue",
            info: { name: "kk", age: 18 },
          };
        },
        methods: {
          changeMessage() {
            this.message = "hello kk";
            this.info = { name: "kk" };
          },
        },

        watch: {
          // 1.默认有两个参数,newValue/oldValue
          message(newValue, oldVale) {
            console.log("message数据发生了变化", newValue, oldValue);
          },
          info(newValue, oldValue) {
            // 2.如果是对象类型,那么拿到的是代理对象
            console.log("info数据发生了变化", newValue, oldValue);
            console.log(newValue.name, oldValue.name);

            // 3.获取原始对象
            console.log({ ...newValue });

1.3.Vue的watch侦听选项

⭐⭐

  • 创建一个对象,赋值给info
  • 点击按钮的时候会修改info.name的值
  • 此时使用watch并不能侦听info,因为默认情况下,watch只是在侦听info的引用变化,对于内部属性的变化是不会做出响应的
  • 所以我们可以使用deep深度监听
  • 希望一开始的就会立即执行一次:这个时候我们使用immediate选项;无论数据是否变化,侦听的函数都会有限执行一次的
<div id="app">
      <h2>{{info.name}}</h2>
      <button @click="changeInfo">修改info</button>
    </div>
 const app = Vue.createApp({
        data() {
          return {
            info: { name: "kk", age: 18 },
          };
        },

        methods: {
          changeInfo() {
            // 创建一个对象,赋值给info
            this.info = { name: "kk" };

            // 直接修改对象里的一个属性
            this.info.name = "kk";
          },
        },

        watch: {
          // 默认watch监听不会进行深度监听
          info(newValue, oldValue) {
            console.log("侦听到info改变", newValue, oldValue);
          },

          // 进行深度监听
          info: {
            handler(newValue, oldValue) {
              console.log("侦听到info改变", newValue, oldValue);
              console.log(newValue === oldValue);
            },

            // 监听器选项
            // info进行深度监听
            deep: true,

            // 第一次渲染直接执行一次监听器
            immediate: true,
          },
        },

        "info.name": function (newValue, oldValue) {
          console.log("name发生改变", newValue, oldValue);
        },
      });

      app.mount("#app");

到此这篇关于Vue中的侦听器watch的文章就介绍到这了,更多相关Vue侦听器watch内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 老生常谈Vue中的侦听器watch

本文链接: https://www.lsjlt.com/news/169429.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 老生常谈Vue中的侦听器watch
    目录一、侦听器watch1.1.初识侦听器watch1.2.Vue的data的watch1.3.Vue的watch侦听选项一、侦听器watch (思维导图不太完善,因为是按照自己看...
    99+
    2022-11-13
    Vue侦听器watch Vue侦听器 Vue watch
  • 怎么使用Vue的watch侦听器
    小编给大家分享一下怎么使用Vue的watch侦听器,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!侦听器watch 函数名就是要侦听的元素的名字传入的参数第一个是变化后的新值newval,第二个是变化前的旧值old...
    99+
    2023-06-22
  • 详解Vue3中的watch侦听器和watchEffect高级侦听器
    目录1watch侦听器2watchEffect高级侦听器清除副作用:就是在触发监听之前会调用一个函数可以处理你的逻辑例如防抖停止跟踪 watchEffect 返回一个函数 调用之后将...
    99+
    2022-11-13
    Vue3 watch侦听器 vue3 watchEffect侦听器
  • 老生常谈vue的生命周期
    目录一、什么是生命周期二、生命周期函数三、生命周期的流程四、简单的生命周期代码总结一、什么是生命周期 每一个组件都可能经历从创建,挂载,更新,卸载的过程。 在这个过程中的某一个阶段,...
    99+
    2024-04-02
  • vue3.0中的watch侦听器实例详解
    目录前言 侦听器和计算属性的区别vue3如何使用watch呢? 基本使用监听多个响应式数据侦听reactive定义的响应式数据 监听reactive定义的响应式数据的某一个属性配置选...
    99+
    2024-04-02
  • 老生常谈C++ 中的继承
    目录继承1.1 继承的概念1.2 继承的定义1.2.1 定义格式2 基类(父类)对象和派生类(子类)对象之间的赋值转换 3 继承中的作用域4 派生类(子类)的默认成员函数5...
    99+
    2024-04-02
  • 老生常谈Python中的Pickle库
    目录简介pickle与json比较函数dumpsloadsdumpload简介 Python 中有个序列化过程叫作 pickle,它能够实现任意对象与文本之间的相互转化,也可以实现任...
    99+
    2024-04-02
  • Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用
    这篇文章主要介绍了Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue中的watch侦听器、计算属性、Vue-cli和组件怎么使用文章都会有所收...
    99+
    2023-06-30
  • 详解Vue3中侦听器watch的使用教程
    目录watch 侦听器使用。侦听器监听 reactive监听多个参数执行各自逻辑监听多个参数执行相同逻辑上一节我们简单的介绍了一下 vue3 项目中的计算属性,这一节我们继续 vue...
    99+
    2024-04-02
  • 一篇文章教你简单使用Vue的watch侦听器
    目录侦听器watch 格式设置侦听器:总结侦听器watch  函数名就是要侦听的元素的名字 传入的参数第一个是变化后的新值newval,第二个是变化前的旧值oldv...
    99+
    2024-04-02
  • 老生常谈.NET中的 COM 组件
    目录什么是COM组件?使用COM组件需要注意:一:背景1.讲故事二:COM 多语言互操作1. 背景2. C# 写一个 COM 组件3. 注册 COM 到注册表4. 使用 C++ 调用...
    99+
    2022-11-13
    .NET  COM 组件 .NET组件
  • 老生常谈java中的Future模式
    jdk1.7.0_79 本文实际上是对上文《简单谈谈ThreadPoolExecutor线程池之submit方法》的一个延续或者一个补充。在上文中提到的submit方法里出现了FutureTask,这不得不停止脚步将方向转向Java的Fut...
    99+
    2023-05-31
    java future模式 ava
  • Vue中侦听器怎么用
    这篇文章将为大家详细讲解有关Vue中侦听器怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变...
    99+
    2023-06-20
  • 老生常谈java数组中的常见异常
    数组的定义 1:单个变量能存储信息 2:用来存储具有相同数据类型的数据集合,可以使用共同的名字来引用数组中存储的数据。 特点 数组可以存储任何类型的数据,包括原始数据类型和引用数据类...
    99+
    2024-04-02
  • 老生常谈java中的fail-fast机制
    在JDK的Collection中我们时常会看到类似于这样的话:例如,ArrayList:注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 Concurren...
    99+
    2023-05-31
    java fail fast
  • 老生常谈c++中的静态成员
    引言 有时候需要类的一些成员与类本身相关联,而不是与类的每个对象相关联。比如类的所有对象都要共享的变量,这个时候我们就要用到类的静态成员。 声明类的静态成员 声明静态成员的方法是使用...
    99+
    2024-04-02
  • Vue中的侦听器及使用场景
    目录基本示例​深层侦听器​即时回调的侦听器​回调的触发时机​this.$watch()​停止侦听器​基本示例​ 计算属性允许我们声明性地计算衍生值。然而在有些情况下,我们需要在状态变...
    99+
    2023-05-18
    Vue侦听器的作用 Vue侦听器使用
  • 老生常谈Scanner的基本用法
    需求:键盘录入一个月份,输出该月份对应的季节。一年有四季3,4,5   春季6,7,8   夏季9,10,11 秋季12,1,2  冬季分析:A:键盘录入一个月份,用Scanner实现B:判...
    99+
    2023-05-31
    scanner 基本用法
  • 老生常谈java中的数组初始化
    数组的初始化可以分为两种:静态初始化动态初始化静态初始化:例:String[] str = new String[]{"A","B","C"};String str[] = new String[]{"A","B","C"};String ...
    99+
    2023-05-31
    java 数组 初始化
  • 老生常谈Java中List与ArrayList的区别
    目录1 概念方面2 初始化方面2.1 List2.1.1 错误写法2.1.2 正确写法2.1.2.1 不指定存取数据类型2.1.2.2 指定存取数据类型2.2 ArrayList2....
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作