VUE---watch监听器

本文介绍了Vue.js中watch功能的两种使用方式,包括简单写法和完整写法,重点讲解了如何通过deep和immediate选项实现数据的深度监视和立即执行业务逻辑。
摘要由CSDN通过智能技术生成
作用:监视数据变化,执行一些 业务逻辑 或 异步操作。
语法:
① 简单写法 → 简单类型数据,直接监视
watch : {
        // 该方法会在数据变化时,触发执行
         数据属性名 (变化后的值, 变化前的值) {
                 一些业务逻辑 或 异步操作
        },
         '对象.属性名' (变化后的值, 变化前的值) {
                 一些业务逻辑 或 异步操作
        }
}
示例如下:
data: {
    words: '',
    objInfo: {
        name: ''
    }
},
watch: {
    words(newVal, oldVal) {
        console.log(newVal, oldVal)
    },
    'objInfo.name'(newVal, oldVal) {
        console.log(newVal, oldVal)
    }
}
② 完整写法 → 添加额外配置项
(1) deep: true 对复杂类型深度监视,当对象的任一属性改变后,都可以侦听到
(2) immediate: true 立即侦听 页面刷新立刻执行一次handler方法

watch: {// watch 完整写法

         数据属性名: {
                immediate : true , // 立即侦听
                 deep : true , // 深度监视
                 handler ( newValue, oldeValue ) {
                         console .log ( newValue, oldeValue )
                }
        }
}

示例如下:

data: {
    obj: {
        name: ''
    }
},
watch: {
    obj: {
        handler(newVal, oldVal) {
            console.log(newVal, oldVal)
        },
        deep: true,
        immediate: true
    }
}

非对象模式也可以使用语法2的形式书写 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值