Vue修饰符全解析

news2025/5/28 2:09:35

目录

一、事件修饰符

二、按键修饰符

三、系统修饰键

四、表单修饰符

五、鼠标修饰符

六、特殊修饰符

七、自定义修饰符

使用建议


一、事件修饰符
<!-- 阻止冒泡 -->
<button @click.stop="handleClick">点击测试</button>

<!-- 阻止默认行为 -->
<form @submit.prevent="handleSubmit"></form>

<!-- 事件捕获模式 -->
<div @click.capture="captureHandler"></div>

<!-- 仅当event.target是元素自身时触发 -->
<div @click.self="selfHandler"></div>

<!-- 单次触发 -->
<button @click.once="onceHandler"></button>

<!-- 滚动事件的默认行为立即触发 -->
<div @scroll.passive="onScroll"></div>

注意:修饰符顺序影响执行顺序,例如:

  • @click.prevent.self 先阻止默认再判断元素
  • @click.self.prevent 先判断元素再阻止默认
二、按键修饰符
<!-- 回车键触发 -->
<input @keyup.enter="submit">

<!-- 删除键触发 -->
<input @keyup.delete="clear">

<!-- 方向键触发 -->
<input @keyup.left="moveLeft">

<!-- 精确控制组合键 -->
<button @click.ctrl.exact="ctrlClick">仅按Ctrl时触发</button>

支持按键别名:

  • .enter
  • .tab
  • .delete
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right
三、系统修饰键
<!-- Ctrl + C 触发 -->
<input @keyup.ctrl.67="copy">

<!-- Alt + Enter 触发 -->
<input @keyup.alt.enter="specialSubmit">

<!-- Shift + 点击 -->
<div @click.shift="shiftClick"></div>

系统修饰键:

  • .ctrl
  • .alt
  • .shift
  • .meta (Windows对应⊞键,Mac对应⌘键)
四、表单修饰符
<!-- 延迟同步 -->
<input v-model.lazy="msg">

<!-- 自动转为数字 -->
<input v-model.number="age">

<!-- 去除首尾空格 -->
<input v-model.trim="username">

五、鼠标修饰符
<!-- 左键点击 -->
<div @mousedown.left="leftClick"></div>

<!-- 中键点击 -->
<div @click.middle="middleClick"></div>

<!-- 右键点击 -->
<div @contextmenu.right="rightMenu"></div>

六、特殊修饰符
<!-- 原生事件监听 -->
<component @click.native="nativeClick"></component>

<!-- 属性双向绑定(Vue2语法) -->
<ChildComponent :title.sync="pageTitle" />

七、自定义修饰符
// 全局自定义修饰符
app.config.globalProperties.$customModifier = (el, binding) => {
  // 自定义处理逻辑
}

使用建议
  1. 组合修饰符时注意执行顺序:
<!-- 先阻止默认再停止冒泡 -->
<form @submit.prevent.stop></form>

  1. 性能优化建议:
  • 滚动事件建议配合.passive
  • 频繁触发事件使用.lazy.throttle
  1. 调试技巧:
<!-- 查看事件对象 -->
<button @click.shift.alt="(e) => console.log(e)">调试</button>

通过合理使用修饰符,可以显著提升代码简洁性和事件处理效率。建议根据实际场景选择最合适的修饰符组合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2387156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenCV CUDA 模块图像过滤-----创建一个计算图像导数的滤波器函数createDerivFilter()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::cuda::createDerivFilter 是 OpenCV CUDA 模块中的一个工厂函数&#xff0c;用于创建一个计算图像导数的滤波器。这个滤波器可以用来计算图像…

AWS関連職種向け:日本語面接QA集

1. 自己紹介&#xff08;じこしょうかい&#xff09; Q&#xff1a;簡単に自己紹介をお願いします。 A&#xff1a; はい、〇〇と申します。これまで約4年間、主にAWSを基盤としたインフラ設計・構築・運用に従事してまいりました。VPCやEC2、RDS、S3などの基本サービスの設計…

(01)华为GaussDB((基于PostgreSQL))高斯数据库使用记录,dbeaver客户端配置高斯驱动,连接高斯数据库

高斯数据库是华为推出的一款基于PostgreSQL的企业级数据库产品&#xff0c;客户端使用通用的dbeaver dbeaver客户端配置高斯驱动 建议使用 dbeaver24.3.1及以上客户端&#xff0c;选择模式后执行sql会绑定模式名&#xff0c;如果使用dbeaver23.2版本&#xff0c;选择模式后执…

ARM Linux远程调试

准备 虚拟机既能ping通开发板,又能ping通外网,还要能ping通Windows主机(如果你有上位机通信(tftp、vsftp、ssh)的需求) VMware 添加网络适配器2用作桥接网卡,原有的网络适配器保持为NAT模式 打开虚拟网络编辑器,配置VMnet0为桥接模式,外部连接设置为Realtek PCIe G…

day24Node-node的Web框架Express

1. Express 基础 1.1 什么是Express node的web框架有Express 和 Koa。常用Express 。 Express 是一个基于 Node.js 的快速、极简的 Web 应用框架,用于构建 服务器端应用(如网站后端、RESTful API 等)。它是 Node.js 生态中最流行的框架之一,以轻量、灵活和易用著称。 …

让MySQL更快:EXPLAIN语句详尽解析

前言 在数据库性能调优中&#xff0c;SQL 查询的执行效率是影响系统整体性能的关键因素之一。MySQL 提供了强大的工具——EXPLAIN 语句&#xff0c;帮助开发者和数据库管理员深入分析查询的执行计划&#xff0c;从而发现潜在的性能瓶颈并进行针对性优化。 EXPLAIN 语句能够模…

[CSS3]rem移动适配

前言 什么是移动端适配? 让页面的元素在屏幕尺寸变化时, 同比放大或缩小 移动适配的方案 rem&#xff1a;目前多数企业在用的解决方案 vw/vh&#xff1a;未来的解决方案 rem 体验rem适配 目标: 能够使用rem单位设置网页元素的尺寸 网页效果: 屏幕宽度不同&#xff0c;网…

向量数据库及ChromaDB的使用

什么是向量数据库&#xff1f; 向量数据库&#xff08;Vector Database&#xff09;&#xff0c;也叫矢量数据库&#xff0c;主要用来存储和处理向量数据。 在数学中&#xff0c;向量是有大小和方向的量&#xff0c;可以使用带箭头的线段表示&#xff0c;箭头指向即为向量的方…

CodeBuddy实现pdf批量加密

本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 前言 在信息爆炸的时代&#xff0c;PDF 格式因其跨平台性和格式稳定性&#xff0c;成为办公、学术、商业等领域传递信息的重要载体。从机密合同到个人隐私文档&#xff0c…

运行打印Hello World启动了多少线程?

序言 看网上说阿里二面问到了一个看似最简单且没有标准答案的一个问题&#xff0c;所有学习编程都是从打印hello World开始的&#xff0c;那运行打印启动了多少个线程&#xff1f; 启动了多少线程&#xff1f; 在运行一个简单的 “Hello World” 程序时&#xff0c;启动的线…

java交易所,多语言,外汇,黄金,区块链,dapp类型的,支持授权,划转,挖矿(源码下载)

目前这套主要是运营交易所类型的&#xff0c;授权的会贵点&#xff0c;编译后的是可以直接跑的&#xff0c;图片也修复了&#xff0c;后门也扫了 都是在跑的项目支持测&#xff0c;全开源 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/90887047 更多…

(已开源-CVPR2024) RadarDistill---NuScenes数据集Radar检测第一名

本文介绍一篇Radar 3D目标检测模型&#xff1a;RadarDistill。雷达数据固有的噪声和稀疏性给3D目标检测带来了巨大挑战。在本文中&#xff0c;作者提出了一种新的知识蒸馏(KD)方法RadarDistill&#xff0c;它可以通过利用激光雷达数据来提高雷达数据的表征。RadarDistill利用三…

【MySQL】 数据库基础数据类型

一、数据库简介 1.什么是数据库 数据库&#xff08;Database&#xff09;是一种用于存储、管理和检索数据的系统化集合。它允许用户以结构化的方式存储大量数据&#xff0c;并通过高效的方式访问和操作这些数据。数据库通常由数据库管理系统&#xff08;DBMS&#xff09;管理&…

MongoDB 错误处理与调试完全指南:从入门到精通

在当今数据驱动的世界中&#xff0c;MongoDB 作为最流行的 NoSQL 数据库之一&#xff0c;因其灵活的数据模型和强大的扩展能力而广受开发者喜爱。然而&#xff0c;与任何复杂系统一样&#xff0c;在使用 MongoDB 过程中难免会遇到各种错误和性能问题。本文将全面介绍 MongoDB 的…

【C++】stack,queue和priority_queue(优先级队列)

文章目录 前言一、栈&#xff08;stack&#xff09;和队列&#xff08;queue&#xff09;的相关接口1.栈的相关接口2.队列的相关接口 二、栈&#xff08;stack&#xff09;和队列&#xff08;queue&#xff09;的模拟实现1.stack的模拟实现2.queue的模拟实现 三、priority_queu…

ubuntu中上传项目至GitHub仓库教程

一、到github官网注册用户 1.注册用户 地址&#xff1a;https://github.com/ 2.安装Git 打开终端&#xff0c;输入指令git,检查是否已安装Git 如果没有安装就输入指令 sudo apt-get install git 二、上传项目到github 1.创建项目仓库 进入github主页&#xff0c;点击号…

windows 下用yolov5 训练模型 给到opencv 使用

windows 使用yolov5训练模型&#xff0c;之后opencv加载模型进行推理。 一&#xff0c;搭建环境 安装 Anaconda 二&#xff0c;创建虚拟环境并安装yolov5 conda create -n yolov5 python3.9 -y conda activate yolov5 git clone https://github.com/ultralytics/yolov5 cd …

Spark集群架构解析:核心组件与Standalone、YARN模式深度对比(AM,Container,Driver,Executor)

一、核心组件定义与关系拆解 1. ApplicationMaster&#xff08;AM&#xff09; 定义&#xff1a;YARN 框架中的应用管理器&#xff0c;每个应用程序&#xff08;如 Spark 作业&#xff09;对应一个 AM。职责&#xff1a; 向 YARN 的 ResourceManager 申请资源&#xff08;Con…

Linux Kernel调试:强大的printk(二)

前言 如果你对printk的基本用法还不熟悉&#xff0c;请先阅读&#xff1a; Linux Kernel调试&#xff1a;强大的printk&#xff08;一&#xff09; 上一篇Linux Kernel调试&#xff1a;强大的printk&#xff08;一&#xff09;我们介绍了printk的基础知识和基本用法&#xf…

Kafka Kraft模式集群 + ssl

文章目录 启用集群资源规划准备证书创建相关文件夹配置文件启动各Kafka节点 故障转移测试spring boot集成 启用集群 配置集群时关键就是提前梳理好需要的网络资源&#xff0c;完成对应server.properties文件的配置。在执行前先把这些梳理好&#xff0c;可以方便后面的配置&…