vue中的侦听器

38 篇文章 0 订阅
本文详细介绍了Vue.js中的侦听器(watch)功能,包括其概念、定义与使用方法。通过watch,开发者可以监听数据变化并执行相应操作,如在用户名变化时检查其可用性。文章还探讨了watch的immediate和deep选项,用于初始化时触发和深度监听对象属性。此外,对比了watch与计算属性的区别,强调watch的自动触发和业务处理特性,适用于异步场景。
摘要由CSDN通过智能技术生成

vue中的侦听器

一.概念:

  1. watch 侦听器允许开发者监视数据的变化,从而针对数据的变化做特定的操作。例如,监视用户名的变化并发起请求,判断用户名是否可用。
  2. 侦听器,也称为侦听属性。它可以监听指定的属性值的变化 ,只要属性值发生了变化 会自动的触发相应的侦听器
  3. 相比之下,它比计算属性更通用,特别是在有异步操作的场景下

二.侦听器的定义及使用

1.简单侦听器的定义

  1. 使用watch结构定义侦听器
  2. 定义为函数的形式,且函数名称必须和你想侦听的属性名称完全一致
watch:{
    // 定义侦听函数
    想侦听的属性名称(新值,旧值){
        // 业务处理
    }
}

2.简单侦听器的使用

  1. 不需要人为调用,也不能人为调用
  2. 只要侦听的数据发生变化,就会自动的触发
  3. 如果想获取到处理结果,一般是将结果赋值给其它的成员
export default {
    data(){
        return {
            name:'',
            value:''
        }
    },
    watch:{
        // 这个名字不能随意,只能和你想侦听的属性名称完全一致
        // 我们不能手动调用
        // 侦听器也没有返回值,所以一般是将处理结果赋值给其它的变量
        name(n,o){
            this.value = n.toUpperCase()
        }
    }
}

三.侦听器的其它选项

immediate 选项

  1. 默认情况下,组件在初次加载完毕后不会调用 watch 侦听器。
  2. 如果想让 watch 侦听器立即被调用,则需要使用immediate 选项
  3. 这个时候需要注意侦听器需要定义为对象的形式,以便让我们能够添加选项配置

在这里插入图片描述

deep选项

  1. 如果 watch 侦听的是一个对象,如果对象中的属性值发生了变化,则无法被监听到。此时可以使用 deep 选项
  2. 这个时候需要注意侦听器也需要定义为对象的形式,以便让我们能够添加选项配置
    在这里插入图片描述
    如果只想监听对象中单个属性的变化,也可以按照如下的方式定义 watch 侦听器
    在这里插入图片描述

四.侦听器的特点(与计算属性的异同)

  1. 它的命名不能随意,必须和你想侦听的属性名称完全一致
  2. 它不能手动调用,它是自动触发
  3. 侦听器侧重于监听单个数据的变化,最终执行特定的业务处理,不需要有任何返回值,如果有需要一般是将结果赋值给另外一个变量
  4. 它可以侦听异步操作中数据的变化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值