在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相关推荐

  1. 小程序开发中使用节流函数throttle的正确方式

    问题 以前在开发小程序项目时,经常遇到节流需求,然后研究了好久都没成功.今天又遇到了,终于被我弄成功了.原来是使用方法错误,终究还是Javascript的基本功差导致的. 使用的小程序开发框架是mpv ...

  2. 【译】JavaScript 中的节流(throttle)和防抖(debounce)

    目录 JavaScript中的节流和防抖 节流和防抖的区别 使用场景 实现节流和防抖 防抖 节流 JavaScript中的节流和防抖 你是否因过度调用函数而影响性能呢? 解决性能问题是在 JavaSc ...

  3. vue项目中使用节流throttle

    问题描述 用户短时间快速点击,向后台发起多次请求 项目中有如图所示弹窗,用户编辑完成之后,快速点击确定,进行保存. 列表中会展示刚才保存的数据,可以看到出现了重复的数据.虽然后端已经加了参数名不能重复 ...

  4. vue中如何使用节流(throttle)函数

    JavaScript 中的函数大多数情况下都是由用户主动调用触发的,除非是函数本身的实现不合 理,否则我们一般不会遇到跟性能相关的问题.但在一些少数情况下,函数的触发不是由用户直 接控制的.在这些场景 ...

  5. vue中自定义指令、组件化、生命周期、节流和防抖、获取DOM、mint-ui简介、过渡和动画

    自定义指令: vue中通过directive方法自定义指令,如:自定义一个v-focus指令: <script>Vue.directive('focus', {//通过directive( ...

  6. 输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流

    输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue 中使用防抖和节流 参考文章: (1)输入防抖 vue # 输入搜索的时候 及时搜索的快速访问接口的 解决方案 vue ...

  7. vue中使用指令给按钮添加节流

    一.在utils中封装节流函数 import Vue from 'vue'const preventReClick = Vue.directive('preventReClick', {inserte ...

  8. vue中的防抖和节流

    vue中的防抖和节流 防抖:触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间. 使用场景:频繁触发.输入框搜索 因为防抖的特性,一直执行最后一次的触发,所以可以用于鼠 ...

  9. Vue中使用防抖与截流

    Vue中使用防抖与截流 何为防抖/节流 防抖(debounce) 节流(throttle) 页面使用 使用场景 何为防抖/节流 首先先说说何为防抖与节流 防抖(debounce) 防抖就是一段时间内会 ...

最新文章

  1. 【分布式架构】“高并发” -- 详解
  2. 数据库期末复习之并发控制
  3. 刘宇凡:自媒体不是自媒体 应是志媒体
  4. CyclicBarrier及CountDownLatch的使用
  5. javascript-按圆形排列DIV元素(三)实例---- 图片按椭圆形转动
  6. 浏览器插件:一款解决谷歌浏览器吃内存神器插件,你值得试一试!
  7. 程序员如何写简历?来自硅谷的八条建议
  8. C++模板的一些基础知识
  9. unicorn模拟执行学习
  10. 使用公司邮箱名登录之PHP代码实现
  11. python︱写markdown一样写网页,代码快速生成web工具:streamlit lay-out布局(四)
  12. 同步发电机励磁调节实验原理_【每日一学】同步发电机的运动方程
  13. 致远SPM之CAP数据分析解决方案
  14. 开平方的快速算法(C程序)
  15. 基于Matlab的暗通道先验、Retinex去雾图像增强研究
  16. 小米和联想的“骁龙”之争,首发第一,友谊第二...
  17. Log Parser Lizard(日志分析工具)v6.7.1官方版
  18. (八)博客详情页面(内容排版typo.css)插件集成
  19. 阳光下可读显示技术的工作原理
  20. activiti报错:org.activiti.engine.ActivitiTaskAlreadyClaimedException: Task ‘12502‘ is already claimed

热门文章

  1. ROS-WIKI——编写简单的发布者和订阅者(C++和Python版本)
  2. C++新特性探究(十八):智能指针
  3. python调用远程js_python和js交互调用的方法
  4. java strlen,跟妹妹聊到 Java 16 新特征,真香!
  5. PHP中几种b2b,用php开发 b2b 用什么架构?
  6. 帝国cms怎么搭建python环境_Python 库/模块的pip安装和IPython的使用
  7. linux如何停止死循环脚本,Linux Shell教程(一)
  8. formidable词根词缀_英语单词(词根词缀)
  9. 11 User Space, Kernel Space, and the System Call API(用户空间,核空间,系统api)
  10. Python Itsdangerous