Vue自定义组件使用事件修饰符的踩坑记录

 更新时间:2021年05月23日 12:54:11   作者:不愿透露姓名的余菜鸟  
vue提倡的是在方法中只有对数据的处理,所以提供了事件修饰符用于DOM的事件处理,下面这篇文章主要给大家介绍了关于Vue自定义组件使用事件修饰符的相关资料,需要的朋友可以参考下

前言

今天在使用自写组件时,突然遇到久违的冒泡事件,就想着使用Vue自带的事件修饰符(.stop),本以为可以就此解决冒泡,却遇到这个问题。

在这里插入图片描述

脑中一片问号????这是什么鬼,我是按照Vue文档写的啊(吐血)

于是,我开始踏上了解决错误的路程

程序员常规操作:

打开浏览器–百度/谷歌搜一搜,发现搜出来的东西不少,没一个是能解决我的问题的答案,没办法Vue文档走起!!!!
看了至少几十遍Vue文档的我,自以为没有看漏什么东西,确信Vue文档也没有解决这种问题的答案,苦苦寻找,来到这里

在这里插入图片描述

嗯?这个event.stopPropagation()???

顿时灵光一现!!!!

在这里插入图片描述

既然是event.stopPropagation()可以触发,那我把event传递过去,问题是不是就可以解决了。说干就干!!

开始素人 代码修改

在这里插入图片描述

使用自定义组件如下:

在这里插入图片描述

来看看控制台输出

在这里插入图片描述

可以了!!!!!可是,为什么会输出两次呢????本想着解决就行了,但是,奇怪的好奇心出来了。

开始踏上寻找触发两次BUG的路程

尝试加上.once修饰符,发现无效,多点几下,发现都是触发两次

在这里插入图片描述

奇奇怪怪的!这是什么鬼啊!!!!

继续尝试使用Vue事件修饰符.once,出现了如下输出

在这里插入图片描述

确实是可以只触发一次了,可是第一次为什么会蹦出来两次打印啊!!!(晕)

问题没有完全解决,继续找。。。。

查看打印时间戳(timeStamp),都是同一时间触发,这可不好弄啊

继续使用浏览器搜索

灵感来了,用setTimeout强制只能触发一次怎么样?

开始代码改造

在这里插入图片描述

好了,看看效果

在这里插入图片描述

成功!!!!一路坎坷的解决了!!!

总结

到此这篇关于Vue自定义组件使用事件修饰符的文章就介绍到这了,更多相关Vue使用事件修饰符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue 当中组件之间共享数据的实现方式

    vue 当中组件之间共享数据的实现方式

    这篇文章主要介绍了vue 当中组件之间共享数据的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue中点击切换按钮功能之点启用后按钮变为禁用

    vue中点击切换按钮功能之点启用后按钮变为禁用

    这篇文章主要介绍了vue中点击切换按钮功能之点启用后按钮变为禁用功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-09-09
  • Vue项目pdf(base64)转图片遇到的问题及解决方法

    Vue项目pdf(base64)转图片遇到的问题及解决方法

    这篇文章主要介绍了Vue项目pdf(base64)转图片遇到的问题及解决方法,需要的朋友可以参考下
    2018-10-10
  • 详解如何在Vue中快速实现数据可视化大屏展示

    详解如何在Vue中快速实现数据可视化大屏展示

    在现代数据驱动的应用程序中,数据可视化大屏已经成为了非常重要的一环,通过对海量数据进行可视化展示,可以帮助用户更好地理解和分析数据,从而做出更加明智的决策,在Vue中进行数据可视化大屏展示也变得越来越流行,本文将介绍如何在Vue中快速实现数据可视化大屏展示
    2023-10-10
  • Vue3+vueuse实现放大镜示例详解

    Vue3+vueuse实现放大镜示例详解

    这篇文章主要为大家介绍了Vue3+vueuse实现放大镜示例过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue background-image 不显示问题的解决

    vue background-image 不显示问题的解决

    这篇文章主要介绍了vue background-image 不显示问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 在vue中使用setInterval的方法示例

    在vue中使用setInterval的方法示例

    这篇文章主要介绍了在vue中使用setInterval的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • vue3.x使用swiper实现卡片轮播

    vue3.x使用swiper实现卡片轮播

    这篇文章主要为大家详细介绍了vue3.x使用swiper实现卡片轮播,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • Vue实现点击时间获取时间段查询功能

    Vue实现点击时间获取时间段查询功能

    这篇文章主要为大家详细介绍了Vue实现点击时间获取时间段查询功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 在 Vue.js中优雅地使用全局事件的方法

    在 Vue.js中优雅地使用全局事件的方法

    这篇文章主要介绍了在 Vue.js中优雅地使用全局事件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02

最新评论