基于Vue中使用节流Lodash throttle详解


Posted in Javascript onOctober 30, 2019

在Vue中使用 Lodash.throttle 来做节流

在Vue中,有时需要对ajax请求提交进行节流操作.这时候,如果页面在请求成功之后会跳转,使用vue指令once或者加载一个loading遮罩禁止点击即可,但如果请求之后不跳转,并且loading不适用时,需要通过其他方式来实现节流,比如通过标识位判断等,这里我们着重说一下如何通过lodash.throttle来实现节流

lodash

lodash是一个广受欢迎的js工具库,其中包含了各种各样的工具函数,方便开发时不需要反复造轮子,更关注于业务.目前已经是4.x版本,文档也十分好找lodash中文文档

_.throttle

这是lodash中的节流函数,具体作用可以直接看官方文档,这里不再进行解释

说下在vue中具体怎么用

首先上错误用法

import _ from 'lodash'

export default{
 methods:{
 click(){
  _.throttle(()=>{
   console.log('hello')
  },1000)
 }
 }
}

以上这样写,在执行时候并不会打印console

正确用法

import _ from 'lodash'

export default{
 methods:{
 click:_.throttle(function(){
   console.log('hello')
   console.log(this)
 },1000)
 }
}

在lodash的throttle方法中,可以直接使用function,而且额外的好处是无需重新指向this,在函数内部中,已经做了apply,所以这里的this指向的就是vue实例,这样对已有函数的改造也是十分的方便,外面包一层_.throttle就可以了!

以上这篇基于Vue中使用节流Lodash throttle详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
借用Google的Javascript API Loader来加速你的网站
Jan 28 Javascript
关于跨站脚本攻击问题
Dec 22 Javascript
JS实现字体选色板实例代码
Nov 20 Javascript
JavaScript获取DOM元素的11种方法总结
Apr 25 Javascript
JS实现图片手风琴效果
Apr 17 Javascript
jQuery解析json格式数据示例
Sep 01 jQuery
vue-cli3全面配置详解
Nov 14 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
Nov 25 Javascript
Vue搭建后台系统需要注意的问题
Nov 08 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
Nov 14 Javascript
vue npm install 安装某个指定的版本操作
Aug 11 Javascript
vue使用canvas实现移动端手写签名
Sep 22 Javascript
Vue最新防抖方案(必看篇)
Oct 30 #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
You might like
php微信开发接入
2016/08/27 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
JS实现图片拖拽交换效果
2018/11/30 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
Element Popover 弹出框的使用示例
2020/07/26 Javascript
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
urllib2自定义opener详解
2014/02/07 Python
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
深入理解Python中字典的键的使用
2015/08/19 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
英国电气世界:Electrical World
2019/09/08 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
英语师范专业毕业生自荐信
2013/09/21 职场文书
局火灾防控工作方案
2014/05/25 职场文书
班级文化标语
2014/06/23 职场文书
保安2014年终工作总结
2014/12/06 职场文书
交心谈心活动总结
2015/05/11 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电
Pandas加速代码之避免使用for循环
2021/05/30 Python
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS