Vue常见修饰符

郭浪 Lv3

一、v-model 修饰符(用于表单输入)

修饰符 说明 示例
.lazy change 事件后才同步数据(默认是 input <input v-model.lazy="value" />
.number 将输入的字符串自动转换为数字 <input v-model.number="age" />
.trim 自动去除首尾空格 <input v-model.trim="name" />

二、事件修饰符(@v-on 使用)

修饰符 说明 示例
.stop 阻止事件冒泡 @click.stop="doSomething"
.prevent 阻止默认行为(如链接跳转、表单提交) @submit.prevent="handleSubmit"
.capture 添加事件监听器时使用捕获模式(先父后子) @click.capture="handleClick"
.self 只有事件来自绑定元素自身时才触发 @click.self="closeModal"
.once 事件只触发一次 @click.once="doOnce"
.passive 提高滚动性能,不调用 event.preventDefault() @scroll.passive="onScroll"

三、按键修饰符(用于键盘事件)

修饰符 说明 示例
.enter 回车键 @keyup.enter="submit"
.esc ESC 键 @keyup.esc="cancel"
.tab Tab 键 @keydown.tab="moveFocus"
.delete Delete/Backspace 键 @keydown.delete="remove"
.up/.down 方向键 @keydown.up="moveUp"
.ctrl/.alt 控制组合键(可叠加使用) @keydown.ctrl.enter="send"

📌 你还可以使用 .exact 精确匹配修饰组合:

1
2
<!-- 仅按下 Ctrl 键时触发(而不是 Ctrl + 其他键) -->
<button @click.ctrl.exact="onlyCtrl">仅 Ctrl</button>

✅ 实用小结

类型 常用修饰符
表单输入 .lazy.trim.number
事件控制 .stop.prevent.self.once
键盘事件 .enter.esc.delete.ctrl.enter
性能优化 .passive(滚动优化)
精准控制 .exact(精确匹配组合键)
  • 标题: Vue常见修饰符
  • 作者: 郭浪
  • 创建于 : 2023-11-12 19:12:58
  • 更新于 : 2023-11-12 19:12:58
  • 链接: https://guolang.top/2023/11/12/Vue常见修饰符/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。