vue的watch侦听器、watch的属性 immediate(侦听属性)、deep(侦听一个对象)

news2024/12/28 6:30:01

1.什么是watch侦听器

watch侦听器允许开发者监视数据的变化,从而针对数据的变化做特定的操作。

语法格式如下:

const vm = new Vue({
    el: '#app',
    data: { username: ''},
    watch: {
        //监听username值的变化
        // newVal 是"变化后的新值”,oldVal 是"变化之前的旧值"
        username(newVal, oldVal) {
            console.log(newVal, oldVal)
        }
    }
})

案例:

 效果如下:(改变值后,控制台的输出)

 2.侦听器——判断用户名是否被占用

 监听 username 值的变化,并使用 axios 发起Ajax 请求,检测当前输入的用户名是否可用:

watch: {
    //监听username值的变化
    async username(newVal) {
       if (newVal === '') return
       //使用 axios 发起请求,判断用户名是否可用
       const { data: res } = await axios.get('https://www.escook.cn/api/finduser/'+ newVal)
       console.log(res)
    }
}

3.侦听器的immediate属性使用:

 显示页面:

 

 immediate 选项的默认值是false

 immediate 的作用是:控制侦听器是否自动触发一次

侦听器的格式

 1.方法格式的侦听器

  • 缺点1:无法在刚进入页面的时候,自动触发! ! !
  • 缺点2:如果侦听的是一个对象,如果对象中的属性发生了变化,不会触发侦听器! !!

2.对象格式的侦听器

  • 好处1:可以通过 immediate 选项,让侦听器自动触发! ! ! 
  • 好处2:可以通过 deep 选项,让侦听器深度监听对象中每个属性的变化! ! !

侦听器- deep选项 

deep选项---是深度监听,能监听对象的变化,如下案例:

 

 效果显示:

 控制台输出的是info 对象。

侦听器用法总结:

 如果只想监听对象中单个属性的变化,则可以按照如下的方式定义watch侦听器:

const Vm = new Vue({
    el:'#app',
    data: {
        info: { username:'admin' }
    },
    watch: {
        'info.username': {
            handler(newVal) {
                console. log(newVal)
            }
        }
    }
})

侦听对象的子属性案例:

 效果演示:

 

如果侦听 data 里的属性,如果要打开就触发一次侦听器,就用 immediate 属性,

如果侦听 data 里的对象,则用 deep 选项,进行深度监听。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/458626.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Golang每日一练(leetDay0046)

目录 136. 只出现一次的数字 Single Number 🌟 137. 只出现一次的数字 II Single Number II 🌟🌟 260. 只出现一次的数字 III Single Number III 🌟🌟🌟 🌟 每日一练刷题专栏 &#x1f3…

linux docker搭建Zfile

1.下载镜像 docker pull stilleshan/zfile2.创建挂载目录 mkdir -p /opt/docker/zfile #自定义路径3.运行 docker run -d --namezfile --restartalways -p 1111:8080 \-v /opt/docker/zfile/conf:/root/.zfile-v4 \-v /opt/docker/zfile/data:/root/zfile/data \stillesha…

C/C++每日一练(20230425)

目录 1. 成绩分布 ※ 2. 汇总区间 🌟 3. 矩阵置零 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 成绩分布 原标题:统计某一单…

基础数据结构-顺序表

顺序表 顺序表定义结构体定义初始化扩容函数打印函数尾插和尾删头插和头删查找函数指定位置插入和删除顺序表销毁 顺序表定义 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。 顺序表又分为…

图像预处理方法

图像预处理 膨胀腐蚀概述 两个基本的形态学操作是腐 和膨胀。他们 的变体构成了开运算 ,闭运算, 梯度等。 根据卷积核的大小前景的所有像素会腐 掉 变为 0 ,所以前景物体会变小整幅图像的白色区域会减少。 对于去除白噪声很有用 也可以用来…

推荐系统搭建全程图文攻略

推荐系统搭建全程图文攻略 推荐系统架构简介 整体推荐架构图: 推荐整体从数据处理开始,默认数据从关系型数据到每天增量导入到hive,在hive中通过中间表和调用python文件等一系列操作,将数据处理为算法数学建模的入口数据&#x…

【SVN】在Windows系统上进行SVN的基本操作(检出,更新,提交,分支合并分支,还原,制造冲突以及解决冲突,忽略)

介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力&a…

其实苹果知道自己离不开中国制造,因此悄悄给自己留了后路

苹果在加速离开中国,不过从苹果的做法却又可以看到它其实很清醒地认识到无法离开中国制造,因此它在力推印度制造的时候,其实并没拼尽全力,深刻认识到印度制造和印度市场与中国的差距。 一、印度制造和印度市场与中国的差距 2022年…

防雷知识:什么是雷电浪涌

浪涌是突然发生并超过典型工作电压的过电压。一般来说,浪涌是电路中短暂的电流、电压或功率波。今天我们就来科普一下什么是雷电浪涌。 什么是浪涌? 浪涌,顾名思义,是一种突然发生并超过典型工作电压的过电压。一般来说&#xf…

工具链和其他-异步模块加载

目录 CMD/AMD Asynchronous Module Definition(AMD异步模块定义,语法风格) Common Module Definition ES6/CommonJS CommonJS ES6 Module 加载器示例 总结 cmd和amd的区别 现在有哪些异步加载方式 整体结构 编程:commonjs es6 module (有可能解…

基于STM32和oneNET云平台的数据采集系统(MQTT协议)

文章目录 前言一、onenet云平台产品创建二、硬件选择三、设计理念四、实战编程1. 传感器部分2. ESP82663. 定时器4. 串口5. MQTT 五、进阶练习 前言 该篇为基于stm32esp8266通过mqtt协议连接onenet物联网云平台,单片机部分将采集到的数据(温湿度、光照强度、压强等…

DX云音乐(安卓)

首先,软件安装好不用注册登录就可以直接使用,在首页这里有很多推荐的热门歌单,比如,有年度热门的DJ歌曲,有抖音热门DJ,有各种跨年晚会,有运动必备的DGM,有90后的经典旋律等等。 还有…

php+vue 校友交流平台

1.普通用户功能分析 (1)用户注册:用于注册校友录用户。 (2)用户登录:供校友录用户登录。 (3)资料修改:修改当前登录使用者信息。 (4)…

MQTT 5协议中的基础更改(一)

01 协议的基础性变化 MQTT 5是对现有协议规范的重大更新,新版本协议具有以下特征:轻量级、易用性、极强的可扩展性、对移动网络的适用性以及通信参与者的解耦。 02 MQTT仍然是MQTT 如果您熟悉MQTT3.1.1,那么您之前知道的关于MQTT的所有原则…

通用策略03丨RUMI魔改+krange自适应第3版

量化策略开发,高质量社群,交易思路分享等相关内容 正 文 大家好,今天我们分享2023年度第3期策略——RUMI魔改krange自适应离场第3版迭代。 本期策略是2023年通用系列第3篇。本期主要内容有对RUMI原版的逻辑魔改,其次重点针对kra…

关于Open Shift(OKD) 中 用户认证、权限管理、SCC 管理的一些笔记

写在前面 因为参加考试,会陆续分享一些 OpenShift 的笔记博文内容为 openshift 用户认证和权限管理以及 scc 管理相关笔记学习环境为 openshift v3 的版本,有些旧这里如果专门学习 openshift ,建议学习 v4 版本理解不足小伙伴帮忙指正 对每个…

数据库管理新定义:一款纯Web化免费SQL开发工具,免安装

SQL Studio是一款由麦聪软件研发的多数据库管理工具,提供Windows、Linux 和 MacOS三种版本的软件包,支持中英文两种语言。SQL Studio是用Java编写的,默认使用 JDK 8进行编译。 下载看这里: [SQLStudio] (http://www.maicongs.com/#/home/web)…

云HIS(二级医院,乡镇医院,民营医院,标准化HIS医院信息管理系统源码)

传统 HIS(基于医院信息系统) 和云 HIS(基于云计算的医院信息系统)各有优缺点,选择哪种系统需要根据具体情况进行权衡。 传统 HIS 系统通常由医院自行开发和维护,适用于医院内部信息化程度较高、数据安全性…

Sql 优化工具

1、背景 对于正在运行的mysql 性能如何?参数设置的是否合理?账号设置的是否存在安全隐患? 对于Sql执行效率又如何?如何了然于胸? show profile, explain,slow query log ,索引优化&#xff0…