[VueJsDev] 目录列表

https://www.cnblogs.com/pengchenggang/p/17037320.html

Button的全局节流

::: details 目录

:::

这是一个系统默认配置 所有系统的按钮要防止连续点击的暴力测试

这不是防抖函数,防抖函数不适合这里,这是节流函数

Step. 1: 注册函数

将函数注入到 Vue 当中

// @/main.js
import setVueClickGlobalThrottle from "@/libs/common/setVueClickGlobalThrottle.js"
setVueClickGlobalThrottle(Vue) // 将所有click 进行节流处理

Step. 2: 局部节流函数失效处理

并不是所有按钮需要节流

<Button :notThrottle="true"> ↑ </Button>

Code. 3: setVueClickGlobalThrottle.js 源码

这里的节流时间为1000毫秒,具体可以自行修改

// @/libs/common/setVueClickGlobalThrottle.js
const setVueClickGlobalThrottle = Vue => {
// 节流
const on = Vue.prototype.$on
Vue.prototype.$on = function (event, func) {
// console.info('全局拦截 click $on事件 event', event)
// console.info('节流 func', func)
let previous = 0
let newFunc = func
if (event === "click") {
// console.info('全局拦截 click 事件 setVueClickGlobalThrottle')
newFunc = function () {
const now = new Date().getTime()
if (this.$attrs.notThrottle || previous + 1000 <= now) {
console.info("this, arguments", this, arguments)
func.apply(this, arguments)
previous = now
}
}
}
on.call(this, event, newFunc)
}
} export default setVueClickGlobalThrottle

[VueJsDev] 基础知识 - Button的全局节流的更多相关文章

  1. asp.net架构基础知识--页面以及全局事件

    1.asp.net的请求过程,以及对应的处理请求的dll客户的请求页面由aspnet_isapi.dll这个动态连接库来处理,把请求的aspx文件发送给CLR进行编译执行,然后把Html流返回给浏览器 ...

  2. 1.nodejs权威指南--基础知识

    1. 基础知识 1.1 全局作用域及函数 1.1.1 全局作用域 在nodejs中,定义了一个global对象,代表nodejs中的全局命名空间,任何全局变量.函数或对象都是该对象的一个属性值 1.1 ...

  3. Vue 2.0入门基础知识之全局API

    3.全局API 3-1. Vue.directive 自定义指令 Vue.directive用于自定义全局的指令 实例如下: <body> <div id="app&quo ...

  4. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  5. javascript中BOM部分基础知识总结

    一.什么是BOM      BOM(Browser Object Document)即浏览器对象模型.      BOM提供了独立于内容 而与浏览器窗口进行交互的对象:      由于BOM主要用于管 ...

  6. ReactiveCocoa基础知识内容

    本文记录一些关于学习ReactiveCocoa基础知识内容,对于ReactiveCocoa相关的概念如果不了解可以网上搜索:RACSignal有很多方法可以来订阅不同的事件类型,ReactiveCoc ...

  7. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  8. Struts2入门1 Struts2基础知识

    Struts2入门1 Struts2基础知识 20131130 代码下载: 链接: http://pan.baidu.com/s/11mYG1 密码: aua5 前言: 之前学习了Spring和Hib ...

  9. Angular 4 学习笔记 从入门到实战 打造在线竞拍网站 基础知识 快速入门 个人感悟

    最近搞到手了一部Angular4的视频教程,这几天正好有时间变学了一下,可以用来做一些前后端分离的网站,也可以直接去打包web app. 环境&版本信息声明 运行ng -v @angular/ ...

  10. IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理

    1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以“人”为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是整个IM系统都是以长 ...

随机推荐

  1. SqlSugar删除数据

    1.根据实体删除 1.1 强类型实体 需要配置主键 ,根据主键删除需要给实体配置主键,参考文档实体配置 //单个实体 db.Deleteable<Student>(new Student( ...

  2. .NET Core开发实战(第32课:集成事件:解决跨微服务的最终一致性)--学习笔记

    32 | 集成事件:解决跨微服务的最终一致性 首先看一下集成事件的工作原理 它的目的时为了实现系统的集成,它主要是用于系统里面多个微服务之间相互传递事件 集成事件的实现方式有两种,一种是图上显示的发布 ...

  3. .NET Core开发实战(第2课:内容综述)--学习笔记

    02 | 内容综述 课程目标 掌握 .NET Core 微服务架构的最佳实践 成长为一个具备良好架构设计能力的架构师 课程内容 第一部分 .NET Core 的必备知识 第二部分 .NET Core ...

  4. Kafka-启动时报错: ERROR Fatal error during KafkaServer startup. Prepare to shutdown

    一.问题描述 在启动kafka时报错: ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server. ...

  5. Linux Shell 字符串截取方法

    Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. 代码如下: echo ${va ...

  6. 罗克韦尔 FT View使用占位符(全局对象参数)来指定弹出窗口的显示名称

    罗克韦尔 FT View使用占位符(全局对象参数)来指定弹出窗口的显示名称 标签占位符 标签占位符能实现将单个图形显示用于多个相似的操作,从而节省开发和维护应用程序的时间. 例如,要为使用同一台机器将 ...

  7. NC22494 选点

    题目链接 题目 题目描述 有一棵n个节点的二叉树,1为根节点,每个节点有一个值wi.现在要选出尽量多的点. 对于任意一棵子树,都要满足: 如果选了根节点的话,在这棵子树内选的其他的点都要比根节点的值大 ...

  8. OGP协议的使用

    OGP协议是一套Metatags的规格,用来标注页面,告诉我们你的网页快照.帮助社交app高效并准确的获取网页中的核心链接.标题.主图.正文摘要等信息,使得该网页在社交分享中有更好的展现体验. 如果网 ...

  9. 配置主机访问virtualbox中redhat7.3虚拟机网络(其他系统配置也类似)

    为什么默认无法访问? virtualbox默认分配一个NAT网络,这个是给虚拟机操作系统访问互联网用的,默认主机通过这个ip段无法直接访问虚拟机.[网卡1] 需要添加一块网卡 在虚拟机关闭状态下,点[ ...

  10. 实操开源版全栈测试工具RunnerGo安装(一)

    Docker版安装文档 一.环境要求​ 1.1 部署服务器要求​ 操作系统:任何支持 Docker 的 Linux x86 CPU内存:最低要求 4C8G,推荐 8C16G 网络要求:可访问互联网 ​ ...