基于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 相关文章推荐
收藏一些不常用,但是有用的代码
Mar 12 Javascript
JavaScript 自动完成脚本整理(33个)
Oct 20 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
举例讲解JavaScript substring()的使用方法
Nov 09 Javascript
Bootstrap使用基础教程详解
Sep 05 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
Aug 02 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 Javascript
微信小程序实现文件、图片上传功能
Aug 18 Javascript
微信小程序如何调用新闻接口实现列表循环
Jul 02 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 Javascript
jQuery zTree如何改变指定节点文本样式
Oct 16 jQuery
vue v-model的用法解析
Oct 19 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中的时间显示
2007/01/18 PHP
php中curl使用指南
2015/02/05 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
webpack4.0 入门实践教程
2018/10/08 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
[01:20]DOTA2上海特级锦标赛现场采访:谁的ID最受青睐
2016/03/25 DOTA
Python单链表的简单实现方法
2014/09/23 Python
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
Python实现批量转换文件编码的方法
2015/07/28 Python
python杀死一个线程的方法
2015/09/06 Python
python线程中同步锁详解
2018/04/27 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
史泰博(Staples)中国官方网站:办公用品一站式采购
2016/09/05 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
物理系毕业生自荐书范文
2014/02/22 职场文书
民间个人借款协议书
2014/09/30 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers