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 相关文章推荐
浅析IE10兼容性问题(frameset的cols属性)
Jan 03 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
Jan 07 Javascript
angularJS 中input示例分享
Feb 09 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
Jul 11 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
Aug 23 Javascript
JSON字符串和JSON对象相互转化实例详解
Jan 05 Javascript
jQuery列表检索功能实现代码
Jul 17 jQuery
JavaScript常用截取字符串的三种方式用法区别实例解析
May 15 Javascript
在Vue 中使用Typescript的示例代码
Sep 10 Javascript
js实现点击图片在屏幕中间弹出放大效果
Sep 11 Javascript
vue计算属性无法监听到数组内部变化的解决方案
Nov 06 Javascript
使用vue判断当前环境是安卓还是IOS
Apr 12 Vue.js
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的header和asp中的redirect比较
2006/10/09 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
node.js入门教程
2014/06/01 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python中asyncore的用法实例
2014/09/29 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
Python Tkinter实现简易计算器功能
2018/01/30 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
巴西最大的在线约会网站:ParPerfeito
2018/07/11 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
《只有一个地球》教学反思
2014/02/14 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
golang协程池模拟实现群发邮件功能
2021/05/02 Golang