在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.防抖函数假定两次 Ajax 通信的间隔不得小于2500毫秒,上面的代码可以改写成下面这样。 $('textarea').on('keydown', debounce(ajaxAction, 2500)); function debounce(fn, delay){ var timer = null; // 声明计时器 return function() { var context = this; var args = arguments; clearTimeout(timer); timer = setTimeout(function () { fn.apply(context, args); }, delay); }; } 上面代码中,只要在2500毫秒之内,用户再次击键,就会取消上一次的定时器,然后再新建一个定时器。这样就保证了回调函数之间的调用间隔,至少是2500毫秒。 2.Vue中使用debouce防抖函数创建一个
Lodash debouce参数:
<template> <el-input v-model="value" size="mini" placeholder="请输入.." clearable @keydown.enter="handleSearch" ></el-input> </template> <script> import _ from 'lodash' export default { data() { return { value: '' } }, create() { this.handleSearch = _.debounce(() => { // 获取列表 this.getList(); }, 300); }, beforeDestroy() { // 取消该函数的防抖动调用 this.handleSearch.cancel(); }, } </script> 到此这篇关于如何在Vue中使用debouce防抖函数的文章就介绍到这了,更多相关Vue中使用debouce防抖函数内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论