基于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 相关文章推荐
document.open() 与 document.write()的区别
Aug 13 Javascript
Javascript base64编码实现代码
Dec 02 Javascript
js中apply方法的使用详细解析
Nov 04 Javascript
javascript的parseFloat()方法精度问题探讨
Nov 26 Javascript
Bootstrap笔记之缩略图、警告框实例详解
Mar 09 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
Aug 28 Javascript
jquery拖拽自动排序插件使用方法详解
Jul 20 jQuery
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
微信小程序实现多选删除列表数据功能示例
Jan 15 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
Sep 06 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 Javascript
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
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测试程序运行时间的类
2012/02/05 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
2014/04/01 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
实例讲解React 组件
2020/07/07 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
Python里隐藏的“禅”
2014/06/16 Python
python判断字符串是否纯数字的方法
2014/11/19 Python
Python找出9个连续的空闲端口
2016/02/01 Python
python查看微信好友是否删除自己
2016/12/19 Python
Python 3中的yield from语法详解
2017/01/18 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
Python pip配置国内源的方法
2020/02/14 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
人事档案接收函
2014/01/12 职场文书
机械机修工岗位职责
2014/08/03 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书