基于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 相关文章推荐
基于Jquery的温度计动画效果
Jun 18 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
Jan 24 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
May 27 Javascript
JQuery实现定时刷新功能代码
May 09 jQuery
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
Vue 表情包输入组件的实现代码
Jan 21 Javascript
详解微信小程序文件下载--视频和图片
Apr 24 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
谈谈JavaScript中的垃圾回收机制
Sep 17 Javascript
关于小程序优化的一些建议(小结)
Dec 10 Javascript
vue3使用vue-router的完整步骤记录
Jun 20 Vue.js
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登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
php计算一个文件大小的方法
2015/03/30 PHP
php编写批量生成不重复的卡号密码代码
2015/05/14 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
Python和php通信乱码问题解决方法
2014/04/15 Python
Python列表生成器的循环技巧分享
2015/03/06 Python
通过Python实现一个简单的html页面
2020/05/16 Python
Python实现随机爬山算法
2021/01/29 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
strlen的几种不同实现方法
2013/05/31 面试题
总裁秘书岗位职责
2013/12/04 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
三方股东合作协议书
2014/10/28 职场文书
乡镇团代会开幕词
2016/03/04 职场文书