Vue 3 事件修饰符
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动
目前,正在
星球
内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.2 + Vite 4
,手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 144 小节,累计 22w+ 字,讲解图:923 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 440+ 小伙伴加入,欢迎点击围观
。
Vue 3 提供了一些事件修饰符,用于修改事件监听器的行为。以下是一些常见的事件修饰符:
.stop
:阻止事件冒泡。.prevent
:阻止事件的默认行为。.capture
:事件捕获模式,事件从外部元素向内部元素传播时触发。.self
:只在当前元素自身触发事件时才调用事件处理函数。.once
:事件只会触发一次。
<!-- 阻止单击事件冒泡 -->
<a @click.stop="clickMe"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 添加事件侦听器时使用事件捕获模式 -->
<div @click.capture="clickTwo"></div>
<!-- 只有当事件在该元素本身(非子元素)触发时触发回调 -->
<div @click.self="clickThree"></div>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 修饰符串联模式 -->
<a @click.stop.prevent="clickFour"></a>
示例代码
<template>
<a href="https://www.quanxiaoha.com">犬小哈教程</a><br>
<a href="https://www.quanxiaoha.com" @click.prevent="goXiaohaWebsit1">犬小哈教程</a><br>
<a href="https://www.quanxiaoha.com" @click="goXiaohaWebsit2($event)">犬小哈教程</a>
</template>
<script setup>
const goXiaohaWebsit1 = () => {
}
const goXiaohaWebsit2 = (e) => {
// 阻止
e.preventDefault();
}
</script>
上述代码中,只有第一个链接可以正常跳转,后面两个链接都被阻止了。