vue侦听器

本文详细介绍了Vue.js中watch侦听器的基本用法,包括函数格式和对象格式,并着重讲解了immediate选项用于立即触发和deep选项实现深度监听的重要性。通过实例演示,理解如何监听对象属性变化,以及如何设置这些选项以适应不同场景。
摘要由CSDN通过智能技术生成

前言

当我们需要对某些数据的变化进行监视并执行某些操作时,可以使用 watch 侦听器

基本用法

方法格式(函数格式)

const vm = new Vue({
  el: '#app',
  data: {
    username: '',
  },
  watch: {
    // 如果 `username` 发生改变,这个函数就会运行
    // 侦听器本质上是一个函数,要监视哪个数据的变化,就把数据名作为方法名即可
    // newValue 是'变化后的新值' oldValue 是'变化前的旧值'
    username(newValue, oldValue) {
      console.log(newValue, oldValue)
    }
  }
})

对象格式

const vm = new Vue({
  el: '#app',
  data: {
    username: '',
  },
  watch: {
    // 如果 `username` 发生改变,这个函数就会运行
    username: {
      // 侦听器的处理函数
    	handler(newValue, oldValue) {
    		console.log(newValue, oldValue)
    	},
    }
  }
})

immediate选项-立即触发

默认情况下,刚进入页面时是不会触发侦听器的,只有监听的数据发生变化才会触发,这里需要使用侦听器的 对象格式 并将 immediate 选项设为true

const vm = new Vue({
  el: '#app',
  data: {
    username: '',
  },
  watch: {
    username: {
    	// 侦听器的处理函数
    	handler(newValue, oldValue) {
    		console.log(newValue, oldValue)
    	},
    	// 控制侦听器是否自动触发一次,默认值false
    	immediate: true
    }
  }
})

deep选项-深度监听

默认情况下,监听的数据是个对象,对象的属性发生变化不会触发侦听器,这里需要使用侦听器的 对象格式 并将 deep 选项设为true

const vm = new Vue({
  el: '#app',
  data: {
    info: {
    	username: ''
    }
  },
  watch: {
    info: {
    	// 侦听器的处理函数
    	handler(newValue, oldValue) {
    		console.log(newValue, oldValue)
    	},
    	// 控制侦听器开启深度监听,默认值false
    	// 开启深度监听后,info的username发生变化就会触发侦听器
    	deep: true
    }
  }
})

监听对象属性

如果只需要监听对象的单个属性,可以使用 ‘对象.属性’ 的方式来定义侦听器

const vm = new Vue({
  el: '#app',
  data: {
    info: {
    	username: ''
    }
  },
  watch: {
  	// 监听username的变化
    'info.username'(newValue, oldValue) {
    	console.log(newValue, oldValue)
    }
  }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue侦听器(Watcher)是一种功能强大的特性,用于监听数据的变化并执行相应的操作。它可以在数据变化时执行一些逻辑,包括更新视图、发送请求或触发其他操作。下面是一些Vue侦听器的常见应用场景: 1. 数据变化时更新视图:当数据发生变化时,你可以使用侦听器来更新相关的视图。例如,你可以监听一个计算属性的变化,在其依赖的数据发生改变时,自动更新视图。 2. 异步操作:有时候你可能需要在数据变化后执行一些异步操作,例如发送AJAX请求或者触发一些副作用。你可以使用侦听器监听数据的变化,并在回调函数中执行异步操作。 3. 表单验证:在表单中,你可以使用侦听器监听用户输入的值,然后进行一些验证逻辑。当输入值发生改变时,侦听器可以检查输入是否符合要求,并做出相应的反馈。 4. 联动操作:有时候多个数据之间会存在联动关系,一个数据的变化会影响到其他数据。你可以使用侦听器监听一个数据的变化,并在回调函数中修改其他相关的数据。 5. 触发事件:当特定的数据满足某个条件时,你可以使用侦听器来触发自定义事件,以便其他组件或模块能够接收到相应的通知。 这些只是一些常见的应用场景,实际上你可以根据具体需求和业务逻辑,灵活运用Vue侦听器来实现更多的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值