Vue最新防抖方案(必看篇)


Posted in Javascript onOctober 30, 2019

函数防抖(debounce):当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。举个栗子,持续触发scroll事件时,并不执行handle函数,当1000毫秒内没有触发scroll事件时,才会延时触发scroll事件。

函数节流(throttle):当持续触发事件时,保证一定时间段内只调用一次事件处理函数。节流通俗解释就比如我们水龙头放水,阀门一打开,水哗哗的往下流,秉着勤俭节约的优良传统美德,我们要把水龙头关小点,最好是如我们心意按照一定规律在某个时间间隔内一滴一滴的往下滴。举个栗子,持续触发scroll事件时,并不立即执行handle函数,每隔1000毫秒才会执行一次handle函数。

防抖实例:

<script>
const delay = (function () {
 let timer = 0
 return function (callback, ms) {
  clearTimeout(timer)
  timer = setTimeout(callback, ms)
 }
})()
export default {
methods:{
fn() {
   delay(() => {
    //执行部分
   }, 500)
}
}
}
</script>

节流实例:

var throttle = function(func, delay) {      
  var timer = null;      
  return function() {        
    var context = this;        
    var args = arguments;        
    if (!timer) {          
      timer = setTimeout(function() {            
        func.apply(context, args);            
        timer = null;          
      }, delay);        
    }      
  }    
}    
function handle() {      
  console.log(Math.random());    
}    
window.addEventListener('scroll', throttle(handle, 1000));

以上这篇Vue最新防抖方案(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 匿名函数(anonymous function)与闭包(closure)
Oct 04 Javascript
web网页按比例显示图片实现原理及js代码
Aug 09 Javascript
如何获取select下拉框的值(option没有及有value属性)
Nov 08 Javascript
JavaScript常用脚本汇总(三)
Mar 04 Javascript
vue.js表格分页示例
Oct 18 Javascript
jquery表单验证插件validation使用方法详解
Jan 20 Javascript
详解VueJs异步动态加载块
Mar 09 Javascript
微信小程序实战之轮播图(3)
Apr 17 Javascript
简单实现js点击展开二级菜单功能
May 16 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 Javascript
js实现的格式化数字和金额功能简单示例
Jul 30 Javascript
jQuery实现二级导航菜单的示例
Sep 30 jQuery
vue输入节流,避免实时请求接口的实例代码
Oct 30 #Javascript
vue 解决form表单提交但不跳转页面的问题
Oct 30 #Javascript
解决在Vue中使用axios用form表单出现的问题
Oct 30 #Javascript
vue路由 遍历生成复数router-link的例子
Oct 30 #Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
Oct 30 #Javascript
vue遍历生成的输入框 绑定及修改值示例
Oct 30 #Javascript
微信小程序基于高德地图查找位置并显示文字
Oct 30 #Javascript
You might like
php xml实例 留言本
2009/03/20 PHP
PHP 木马攻击防御技巧
2009/06/13 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
mac上node.js环境的安装测试
2017/07/03 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
Python中的文件和目录操作实现代码
2011/03/13 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
python基于物品协同过滤算法实现代码
2018/05/31 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
python超时重新请求解决方案
2019/10/21 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
python3 logging日志封装实例
2020/04/08 Python
Python实现动态循环输出文字功能
2020/05/07 Python
python3.x中安装web.py步骤方法
2020/06/23 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
让世界充满爱演讲稿
2014/05/24 职场文书
车辆年审委托书范本
2014/09/18 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB