vue.js - vue如何延迟事件的执行?

查看:1420
本文介绍了vue.js - vue如何延迟事件的执行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

比如我有个多选框,每次勾选一次,都触发change事件。

这个change事件异步请求数据。请求到数据就刷新一次dom。

现在问题来了。假如我一个一个勾选,比如连续勾选了5个项目,那就发送了5次请求。这样就太耗资源了。
有什么好的办法吗


补充:

我刚看了百度搜索,百度搜索框,你输入一个东西,他会在下面列出搜索联想词。比如你在搜索框快速输入‘abc’这三个字母的时候,他实际上并不是每个字母都发送一次查询。但是你稍微缓慢的输入a、b、c这时候就发送三个查询了。


解决办法:

感觉不算难。

if(vm.is_run) return;
vm.is_run = true;
var t = setTimeout(function (){
    vm.is_run = false;
    console.log('执行了');
}, 1000);

好像这样会比较好一点:

var t;
clearTimeout(t)
t = setTimeout(function (){
    console.log('执行了');
}, 1000);

解决方案

setTimeout啊...

这篇关于vue.js - vue如何延迟事件的执行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆