Vue常见的事件修饰符

news/2024/11/13 4:04:58/

前言

vue一共给我们准备了6个事件修饰符,前三个比较常用,后三个少见,这里着重讲下前三个

1.prevent:阻止默认事件(常用)
2. stop:阻止事件冒泡(常用)
3. once:事件只触发一次(常用)
4.captrue:使用事件的捕捉模式(不常用)
5.self:只有event.target是当前操作的元素时才触发事件(不常用)
6.passive:事件的默认行为立即执行,无需等待事件回调执行完毕(不常用)

阻止默认事件(常用)

首先写一个简单的例子,一个简单的超链接标签,我们给一个百度链接和一个单击事件

在这里插入图片描述

查看页面,虽然点击文字出现了弹窗,但是随之跳到了超链接指向的地址

在这里插入图片描述

在这里插入图片描述

跳转到链接是a标签的默认行为,那么我们怎么阻止这个默认行为呢?

普通阻止默认行为方式

使用参数对象的preventDefault方法

在这里插入图片描述

这时候浏览器点击文字提示弹框后就不会跳转了

vue阻止默认行为方式

在vue中,不用我们亲自编写上面的方式,我们可以在事件名称后面跟一个.prevent就可以阻止默认行为了,效果都是一样的

 <!-- .prevent:阻止默认事件 -->
<a href="http://www.baidu.com" @click.prevent="showInfo">点我提示信息</a>

在这里插入图片描述

阻止事件冒泡(常用)

编写代码,实现例子

在这里插入图片描述

我们发现,单击玩确定后会继续弹窗,这就是一个冒泡事件

在这里插入图片描述

阻止的方式和上一个例子类似,我这里以及下面都用vue特定的阻止行为了

我们在单击事件前面加上.stop

<!--   .stop:阻止事件冒泡 -->
<button @click.stop="showInfo">点我提示信息</button>

在这里插入图片描述

再次验证浏览器,解决问题

事件只触发一次(常用)

编写代码

在这里插入图片描述

如图,按钮点击多少次,就会弹窗多少次

在这里插入图片描述

我们加上once修饰符

<!--   3.once:事件只触发一次 --><button @click.once="showInfo">点我提示信息</button>

使用事件的捕捉模式 (不常用)

在这里插入图片描述

   <!--  4.captrue:使用事件的捕捉模式 --><div class="box1" @click.capture="showMsg(1)">div1 <div  class="box2" @click="showMsg(2)">div2</div></div>

在这里插入图片描述

只有event.target是当前操作的元素时才触发事件(不常用)

 <!--     5.只有event.target是当前操作的元素时才触发事件 --><div class="demo1" @click.self="showInfo"><button @click="showInfo">点我提示信息</button></div>

在这里插入图片描述

在这里插入图片描述

事件的默认行为立即执行,无需等待事件回调执行完毕不常用)

在这里插入图片描述

在这里插入图片描述

扩展:多个修饰符使用小技巧

比如现在有个需求,我们知道点击超链接后会弹窗然后跳转到指定的url,那么我们又想阻止冒泡,又想阻止默认行为,该怎么办呢?

在这里插入图片描述

我们可以多个修饰符一起使用,比如

// 多个事件修饰符一起使用,可以随意顺序<a href="http://www.baidu.com" @click.prevent.stop="showInfo">点我提示信息</a>

在这里插入图片描述

页面上只会弹窗就不跳转了

总结

个人感觉,了解常见的这些时间修饰符就够用了,不常见的了解即可。用到的时候再搜索相关资料


http://www.ppmy.cn/news/31107.html

相关文章

【JavaEE初阶】第四节.文件操作 和 IO (上篇)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、文件 1.1 文件的概念 1.2 文件的路径二、 Java中文件系统操作 2.1 File类的属性 2.2 File类的构造方法 2.3 File类的方法 …

Java中wait和sleep区别

文章目录1. Java中wait和sleep区别2. wait和sleep所属方法的不同3. wait的Demo3.1 没有synchronized同步代码块异常3.2 wait使用Demo4. sleep的Demo1. Java中wait和sleep区别 sleep属于Thread类中的static方法&#xff1b;wait属于Object类的方法sleep时线程状态进入TIMED_WAI…

Vue3笔记01 创建项目,Composition API,新组件,其他

Vue3 创建Vue3项目 vue-cli //查看vue/cli版本&#xff0c;确保在4.5.0以上 vue --version //安装或升级vue/cli npm install -g vue/cli //创建项目 vue create new_project //启动 cd new_project npm run serve 也可以通过vue ui进入图形化界面进行创建 vite 新一代前端…

规划数据指标体系方法(下)——新海盗模型

前面已经跟大家分享了规划数据指标体系的两种方法—— OSM 和 UJM 模型&#xff0c;分别从目标-策略以及用户旅途的角度阐述了规划数据指标体系的过程。今天我来跟大家分享最后一种规划数据指标体系的方法——新海盗模型。 了解新海盗模型 海盗模型&#xff0c;即 AARRR 模型&…

Qt广告机服务器(上位机)

目录功能结构adSever.promain.cpptcp_MSG.h 共用Tcp传输信息adsever.h 服务器adsever.cpp 服务器addate.h 时间处理addate.cpp 时间处理adtcp.h 客户端Socket处理adtcp.cpp 客户端Socket处理client.h 客户端信息类client.cpp 客户端信息类admsglist.h 信息记录模块admsglist.cp…

【Java开发】JUC进阶 05:函数式接口、ForkJoin

1 四大函数式接口函数式接口&#xff1a;只有一个抽象方法的接口&#xff0c;只要是函数式接口&#xff0c;就可以用lambda表达式简化例如Runnable&#xff1a;FunctionalInterface public interface Runnable {public abstract void run(); }框架底层大量应用函数式接口&#…

7天收割10个offer,软件测试面试题 (项目经验问题+回答)(超级全细)

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 1、简单介绍下最近做…

【动态规划】

动态规划1引言题目509. 斐波那契数70. 爬楼梯746. 使用最小花费爬楼梯小结53. 最大子数组和结语引言 蓝桥杯快开始了啊&#xff0c;自从报名后还没认真学过算法有(>﹏<)′&#xff0c;临时抱一下佛脚&#xff0c;一起学学算法。 题目 509. 斐波那契数 斐波那契数 &am…