Vue框架——侦听器

侦听器

虽然计算属性侦听器的功能类似,数据变化就会触发某个函数。但是当需要在数据变化时执行异步或开销较大的操作时,侦听器这个方式是最有用的。

侦听器的用法

watch:{
    elName:function(val){
        
    }
}

侦听器触发的功能函数写在watch属性里,函数名与所侦听数据的名字一一对应,函数的参数为所侦听数据的值

用户名验证案例

<div id="app">
    <div>
        <label for="">用户名:</label>
        <input type="text" v-model.lazy="username">
        <span>{{tip}}</span>
    </div>
</div>
var vm = new Vue({
    el: '#app',
    data: {
        username: '',
        tip: ''
    },
    methods: {
        checkUsername: function(username) {
            // 使用定时任务的方式模拟接口的调用
            var that = this;
            setTimeout(function() {
                // 模拟接口调用
                if (username == 'cmy') {
                    that.tip = "用户名已存在";
                } else {
                    that.tip = "用户名可以使用";
                }
            }, 2000);
        }
    },
    watch: {
        username: function(val) {
            // 调用后台接口,验证用户名的合法性
            this.checkUsername(val);
            this.tip = "验证中...";
        }
    }
});

username属性的值改变时,就会触发watch里的对应函数,为避免频繁触发,可以使用lazy修饰符将触发的方式设置成失焦事件

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员陈_明勇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值