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去除空格的几种方法
Oct 03 Javascript
国外Lightbox v2.03.3 最新版 下载
Oct 17 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
Oct 18 Javascript
JS将制定内容复制到剪切板示例代码
Feb 11 Javascript
理解javascript闭包
Dec 15 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
Feb 17 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
面包屑导航详解
Dec 07 Javascript
vue项目实现github在线预览功能
Jun 20 Javascript
js实现踩五彩块游戏
Feb 08 Javascript
JavaScript观察者模式原理与用法实例详解
Mar 10 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
May 28 Javascript
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多用户计数器代码
2007/03/11 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
PHP获取短链接跳转后的真实地址和响应头信息的方法
2014/07/25 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
基于jQuery的表格操作插件
2010/04/22 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
Seajs的学习笔记
2014/03/04 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
Python中拆分字符串的操作方法
2019/07/23 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
综合办公室主任职责
2013/12/16 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技
go goth封装第三方认证库示例详解
2022/08/14 Golang