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相关推荐
- 小程序开发中使用节流函数throttle的正确方式
问题 以前在开发小程序项目时,经常遇到节流需求,然后研究了好久都没成功.今天又遇到了,终于被我弄成功了.原来是使用方法错误,终究还是Javascript的基本功差导致的. 使用的小程序开发框架是mpv ...
- 【译】JavaScript 中的节流(throttle)和防抖(debounce)
目录 JavaScript中的节流和防抖 节流和防抖的区别 使用场景 实现节流和防抖 防抖 节流 JavaScript中的节流和防抖 你是否因过度调用函数而影响性能呢? 解决性能问题是在 JavaSc ...
- vue项目中使用节流throttle
问题描述 用户短时间快速点击,向后台发起多次请求 项目中有如图所示弹窗,用户编辑完成之后,快速点击确定,进行保存. 列表中会展示刚才保存的数据,可以看到出现了重复的数据.虽然后端已经加了参数名不能重复 ...
- vue中如何使用节流(throttle)函数
JavaScript 中的函数大多数情况下都是由用户主动调用触发的,除非是函数本身的实现不合 理,否则我们一般不会遇到跟性能相关的问题.但在一些少数情况下,函数的触发不是由用户直 接控制的.在这些场景 ...
- vue中自定义指令、组件化、生命周期、节流和防抖、获取DOM、mint-ui简介、过渡和动画
自定义指令: vue中通过directive方法自定义指令,如:自定义一个v-focus指令: <script>Vue.directive('focus', {//通过directive( ...
- 输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流
输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流 参考文章: (1)输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue ...
- vue中使用指令给按钮添加节流
一.在utils中封装节流函数 import Vue from 'vue'const preventReClick = Vue.directive('preventReClick', {inserte ...
- vue中的防抖和节流
vue中的防抖和节流 防抖:触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间. 使用场景:频繁触发.输入框搜索 因为防抖的特性,一直执行最后一次的触发,所以可以用于鼠 ...
- Vue中使用防抖与截流
Vue中使用防抖与截流 何为防抖/节流 防抖(debounce) 节流(throttle) 页面使用 使用场景 何为防抖/节流 首先先说说何为防抖与节流 防抖(debounce) 防抖就是一段时间内会 ...
最新文章
- 【分布式架构】“高并发” -- 详解
- 数据库期末复习之并发控制
- 刘宇凡:自媒体不是自媒体 应是志媒体
- CyclicBarrier及CountDownLatch的使用
- javascript-按圆形排列DIV元素(三)实例---- 图片按椭圆形转动
- 浏览器插件:一款解决谷歌浏览器吃内存神器插件,你值得试一试!
- 程序员如何写简历?来自硅谷的八条建议
- C++模板的一些基础知识
- unicorn模拟执行学习
- 使用公司邮箱名登录之PHP代码实现
- python︱写markdown一样写网页,代码快速生成web工具:streamlit lay-out布局(四)
- 同步发电机励磁调节实验原理_【每日一学】同步发电机的运动方程
- 致远SPM之CAP数据分析解决方案
- 开平方的快速算法(C程序)
- 基于Matlab的暗通道先验、Retinex去雾图像增强研究
- 小米和联想的“骁龙”之争,首发第一,友谊第二...
- Log Parser Lizard(日志分析工具)v6.7.1官方版
- (八)博客详情页面(内容排版typo.css)插件集成
- 阳光下可读显示技术的工作原理
- activiti报错:org.activiti.engine.ActivitiTaskAlreadyClaimedException: Task ‘12502‘ is already claimed
热门文章
- ROS-WIKI——编写简单的发布者和订阅者(C++和Python版本)
- C++新特性探究(十八):智能指针
- python调用远程js_python和js交互调用的方法
- java strlen,跟妹妹聊到 Java 16 新特征,真香!
- PHP中几种b2b,用php开发 b2b 用什么架构?
- 帝国cms怎么搭建python环境_Python 库/模块的pip安装和IPython的使用
- linux如何停止死循环脚本,Linux Shell教程(一)
- formidable词根词缀_英语单词(词根词缀)
- 11 User Space, Kernel Space, and the System Call API(用户空间,核空间,系统api)
- Python Itsdangerous