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  THIS详解 面向对象
Mar 25 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
Apr 01 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
js 绑定键盘鼠标事件示例代码
Feb 12 Javascript
javascript框架设计之框架分类及主要功能
Jun 23 Javascript
基于jQuery实现自动轮播旋转木马特效
Nov 02 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
May 30 Javascript
JavaScript_object基础入门(必看篇)
Jun 13 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
Aug 01 Javascript
浅析我对JS延迟异步脚本的思考
Oct 12 Javascript
Java无向树分析 实现最小高度树
Apr 09 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防盗链的常用方法小结
2010/07/02 PHP
php获取后台Job管理的实现代码
2011/06/10 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
2013/08/07 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
tagName的使用,留一笔
2006/06/26 Javascript
Add a Table to a Word Document
2007/06/15 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
jquery列表拖动排列(由项目提取相当好用)
2014/06/17 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
Python模块WSGI使用详解
2018/02/02 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
酒店实习个人鉴定
2013/12/07 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
群众路线个人整改方案
2014/10/25 职场文书
法院个人总结
2015/03/03 职场文书
银行自荐信范文
2015/03/25 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
vue3获取当前路由地址
2022/02/18 Vue.js
vue判断按钮是否可以点击
2022/04/09 Vue.js