vue-pc端实现按钮防抖处理-自定义指令

这篇具有很好参考价值的文章主要介绍了vue-pc端实现按钮防抖处理-自定义指令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • 我们经常在移动端会处理按钮和输入框的防抖和节流处理,在pc端很少进行这样的操作

  • 但是在pc端也是可以进行按钮的防抖操作,这样也是比较合理,可以不用但不可以不会

  • 我们只要配合vue项目自定义指令加上全局注册,就可以实现按钮的防抖操作。

  • 并且这种方式是在做加法,把自定义指令全局注册之后,只需要把@click换成v-antishake(自定义指令)即可

项目自定义指定-全局注册包结构

vue-pc端实现按钮防抖处理-自定义指令,实际开发-问题解决,vue.js,javascript,前端,按钮防抖处理,短时间只触发一次

 

代码实现-项目有自定义指令

1.在src/directive/module下建立antishake.js文件-代码如下

export default {
  inserted (el, binding, vnode) {
    let timer = {}
    el.addEventListener('click', () => {
      if (timer) {
        clearTimeout(timer)
      }
      timer = setTimeout(() => {
        binding.value()
      }, 2000)
    })
  }
}

2.在src/directive/index.js下注册

// 按钮防抖处理
import antishake from './module/antishake'
​
const install = function (Vue) {
 
  // 按钮防抖处理
  Vue.directive('antishake', antishake)
}
​
​
export default install
 

3.在页面需要按钮防抖的地方直接使用自定义指令代替@click

// 原来点击事件
@click='事件'
// 现在点击事件-防抖处理-自定义点击事件
 v-antishake="事件"

总结:

经过这一趟流程下来相信你也对 vue-pc端实现按钮防抖处理-自定义指令 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

什么不足的地方请大家指出谢谢 -- 風过无痕文章来源地址https://www.toymoban.com/news/detail-639605.html

到了这里,关于vue-pc端实现按钮防抖处理-自定义指令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue自定义指令实现按钮级的权限控制

    提示:原文参考链接*且听风吟 提示:钩子函数: 自定义指令有五个生命周期(也叫钩子函数),分别是: bind,inserted,update,componentUpdated,unbind 。 bind :只调用一次,指令第一次绑定到元素时调用。用这个钩子函数可以定义一个绑定时执行一次的初始化设置。( bind 时父节点

    2024年02月10日
    浏览(34)
  • vue3自定义指令之防抖

    我们使用 vue 时,有时候需要用到自定义指令,例如一个防抖指令 现在有一个需求,用户在点击某个按钮时,我不希望用户在疯狂点击后,每次点击都会触发事件,像服务器发送请求,这并不是我们预期的,所以我们需要在用户点击是做防抖处理。那么怎么做到方便复用的解

    2024年02月16日
    浏览(27)
  • vue-pc端禁止用户选中文字-右键-复制

    前言 pc端开发中我们经常会遇见一些页面,会因为刷新,渲染,卡顿出现文字选中效果 或者一些敏感的页面我们不希望用户复制,选中,页面的文字信息,比如考试,敏感信息 其实这些也是可以通过代码控制的,这样可以使项目更加安全,合理。 把代码写在页面mounted就是这

    2024年02月11日
    浏览(27)
  • h5键盘弹起底部菜单(按钮)被顶起-vue自定义指令解决

            开发H5中测试过程中发现在安卓手机上,input/textarea 获取焦点 软键盘弹出 会让absolute/fixed或者使用flex局部 固定在底部的元素(固定底部栏)顶起来问题;在搜索后发现安卓上在键盘弹起的时候浏览器   body height 100%   其实只有键盘以上范围,这里决解方法有很多可

    2024年02月12日
    浏览(38)
  • vue-pc端elementui-统一修改问题-Dialog 对话框点击空白关闭问题-element-所有组件层级问题

    实际开发我们经常发现dialog弹出框默认点击遮罩层空白地方就会关闭-有属性可以关闭 但是经常会图方便-或者已经写完了,不想一个个写,可以在main.js进行统一关闭 当我们在页面进行复杂设计和层级关闭改变,会发现右上角的退出登录弹出款在我们页面之下 这是我们不管怎

    2024年02月13日
    浏览(27)
  • vue2.x通过指令实现v-debounce和v-throttle防抖节流的实现,亲测可用。

    在vue2.x中,防抖和节流一般是通过引入防抖函数 debounce 和节流函数 throtte ,对事件回调进行一层包裹,然后在模板中绑定包裹后的事件回调,这样每个需要用的地方都需要进行防抖,节流函数的导入,事件回调的包裹,比较麻烦。通过摸索,有以下两种方法。 通过重写Vue.

    2024年02月14日
    浏览(26)
  • 【Vue】二:Vue核心处理---vue的其它指令和自定义指令

    v-text:当做文件解析。 v-html:当做 HTML 代码解析。 v-cloak 配置 css 样式来解决胡子的闪现问题。 我们模拟网络延迟的情况下,发现出现了如上的问题。 只渲染一次。之后将被视为静态内容。 带有该指令的标签将不会被编译。 指令的名字 (1)v-不需要写 (2)Vue官方建议指令

    2024年02月08日
    浏览(26)
  • vue uniapp 防止按钮多次点击(类似于防抖节流)

    common文件并创建anti-shake.js文件 man.js文件中引入 页面里使用即可 不传参,直接传一个方法就行 带参数,传一个方法和一个参数就行 

    2024年02月11日
    浏览(24)
  • vue防抖 指令 v-debounce

    2024年02月16日
    浏览(25)
  • vue3自定义按钮点击变颜色实现(多选功能)

    实现效果图: 默认选中第一个按钮,未选中按钮为粉色,点击时颜色变为红色 利用动态类名,当定义isChange数值和下标index相同时,赋予act类名,实现变色效果

    2024年01月19日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包