.self修饰符确保事件仅在绑定元素自身触发时执行,即event.target等于event.currentTarget;用于卡片点击、遮罩层关闭等需区分目标元素的场景。

在 Vue 3 中,`.self` 修饰符用于精准控制事件触发范围:它确保回调函数**仅当事件的原始目标(event.target)就是绑定事件的元素本身**时才执行,而不是它的任意子元素。
.self 的核心逻辑
事件默认会冒泡。比如一个 加上 `.self` 后,Vue 会在执行前检查: 假设结构如下: 从零开始编排 SpringBoot+Vue 全栈项目工作流,适用于新建全栈项目或完整脚手架请求,触发后依次调用 product‑spec‑builder(需求调研)等模块。 此时:,点击按钮时,click 事件会先在按钮上触发,再向上冒泡到父 div。若父 div 绑定了 @click="handler",不加修饰符就会被触发——即使用户点的是里面的按钮。event.target === event.currentTarget。只有两者相等(即事件没“跑偏”,确实发生在当前元素上),才会调用回调。典型使用场景
div 做样式容器,只希望直接点击该容器空白处才触发校验或展开逻辑写法与对比示例
标题
@click="handleCardClick" → 点标题、点按钮、点空白处,都会触发 handleCardClick
@click.self="handleCardClick" → 只有直接点击 handleCardClick 不执行
注意事项
.self 和 .stop 功能不同:前者是“过滤触发源”,后者是“截断传播路径”。二者可共存,但目的不重叠click、mousedown、keyup 等),不仅限于 click@click.self="onClick",无需额外配置
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!









