Vue修饰符的使用

在 Vue.js 中,修饰符(modifiers)是一种特殊的后缀,用于指令以特殊方式修改指令的行为。修饰符通过在指令名称后面添加点(.)及修饰符名称来表示。Vue 提供了一些常用的修饰符,帮助开发者处理事件、绑定、表单输入等。以下是一些常见的修饰符及其用法。

事件修饰符

.stop

阻止事件的传播。

<button @click.stop="handleClick">点击我</button>
.prevent

阻止默认事件的发生。

<form @submit.prevent="handleSubmit">提交</form>
.capture

使用事件捕获模式。

<div @click.capture="handleClick">捕获模式</div>
.self

只当事件是从当前元素触发时触发处理函数。

<div @click.self="handleClick">点击我</div>
.once

只触发一次事件处理器。

<button @click.once="handleClick">点击一次</button>
.passive

提升滚动性能,防止默认行为。

<div @scroll.passive="handleScroll">滚动</div>

键修饰符

用于监听键盘事件,可以指定特定键或键组合。

基本键修饰符
<input @keyup.enter="handleEnter">
<input @keyup.esc="handleEsc">
组合键修饰符
<input @keyup.ctrl.enter="handleCtrlEnter">
<input @keyup.shift="handleShift">
自动转换键名

Vue 会自动识别常见的键名,例如:enteresctab 等。

鼠标按钮修饰符

用于监听鼠标事件,可以指定特定的鼠标按钮。

<button @mousedown.left="handleLeftClick">左键点击</button>
<button @mousedown.right="handleRightClick">右键点击</button>
<button @mousedown.middle="handleMiddleClick">中键点击</button>

表单修饰符

.lazy

v-model 指令中,lazy 修饰符用于在 change 事件后同步输入值,而不是在 input 事件后同步。

<input v-model.lazy="message">
.number

v-model 指令中,将输入值自动转换为数字。

<input v-model.number="age">
.trim

v-model 指令中,自动过滤输入的首尾空格。

<input v-model.trim="username">

自定义指令中的修饰符

在自定义指令中,可以通过 binding.modifiers 访问修饰符。

Vue.directive('focus', {inserted: function (el, binding) {if (binding.modifiers.lazy) {// 具有 .lazy 修饰符的特定行为} else {el.focus();}}
});

综合示例

以下是一个包含各种修饰符的综合示例:

<template><div><form @submit.prevent="handleSubmit"><input v-model.lazy.trim="username" placeholder="用户名"><input v-model.number="age" placeholder="年龄" type="number"><button type="submit">提交</button></form><button @click.once="handleClick">点击一次</button><input @keyup.enter="handleEnter" placeholder="按 Enter 键"></div>
</template><script>
export default {data() {return {username: '',age: null};},methods: {handleSubmit() {console.log('提交表单', this.username, this.age);},handleClick() {console.log('按钮被点击了一次');},handleEnter() {console.log('按下 Enter 键');}}
};
</script>

在这个示例中,我们使用了事件修饰符、键修饰符和表单修饰符,展示了 Vue.js 中修饰符的多种用法。

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

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

相关文章

工程视角:数据结构驱动的应用开发--字典(dictionary),列表(list)与实体

这里写目录标题 业务业务场景流程分析 实现数据访问层&#xff08;DAL&#xff09;业务逻辑层&#xff08;BLL&#xff09;用户界面层&#xff08;UI&#xff09;工具类 设计思路为什么抽出工具类关于U层使用字典的好处工程视角 业务 业务场景 在一个金融应用系统中&#xff0c…

iptables 限制端口仅特定IP访问。

注意&#xff1a; 需要用源地址(-s)&#xff0c;而不是目的地址(-d) 单个IP&#xff1a; iptables -A INPUT -p tcp -m tcp --dport 3306 -s 127.0.0.1 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 3306 -j DROP 多个IP&#xff1a; iptables -A INPUT -p tcp -m t…

LLaVA论文阅读+Colab部署

LLaVA &#xff1a;Visual Instruction Tuning 1. Colab上部署LLaVA2. 论文摘要3. 多模态指令跟随数据4. 模型架构5. 模型训练6. 消融实验7. CC3M数据过滤8. 总结 1. Colab上部署LLaVA 代码&#xff1a; https://github.com/Czi24/Awesome-MLLM-LLM-Colab/tree/master/MLLM/LL…

CUDA编程02 - 数据并行介绍

一:概述 数据并行是指在数据集的不同部分上执行计算工作,这些计算工作彼此相互独立且可以并行执行。许多应用程序都具有丰富的数据并行性,使其能够改造成可并行执行的程序。因此,对于程序员来说,熟悉数据并行的概念以及使用并行编程语言来编写数据并行的代码是非常重要的。…

2024.7.23总结(东莞入职培训day2)

今天写总结也很晚了&#xff0c;但是今天收获特别丰满&#xff0c;必须回顾一下&#xff0c;这些都是宝贵的财富。 1.讲课老师很特别棒 今天的讲课老师特别棒&#xff0c;很是优秀&#xff0c;她讲的课程质量还是非常高的&#xff0c;能够带动学生去深度思考&#xff0c;小伙…

超大数字四舍五入保留N位小数【没bug】

大部分npm常用的插件四舍五入都是用数值直接去计算四舍五入的存在精度问题&#xff0c;本方法是用用字符串拆分比较整数大小&#xff0c;这样就避开了精度的问题&#xff1b; 该方法可以传入&#xff1a;1.134、99.99、9999999999999999999.99999、.001、12.、0.、00.、类似的…

.netcore TSC打印机打印

此文章给出两种打印案例&#xff0c; 第一种是单列打印&#xff0c;第二种是双列打印 需要注意打印机名称的设置&#xff0c;程序中使用的打印机名称为999&#xff0c;电脑中安装打印机时名称也要为999。 以下是我在使用过程中总结的一些问题&#xff1a; 一 TSC打印机使用使…

【Node.js基础02】fs、path模块

目录 一&#xff1a;fs模块-读写文件 1 加载fs模块对象 2 读制定文件内容文件 3 向文件中写入内容 二&#xff1a;path模块-路径处理 1 问题引入 2 __dirname内置变量 使用方法 一&#xff1a;fs模块-读写文件 fs模块封装了与本机文件系统交互方法和属性 1 加载fs模块…

弹性布局 flex layout HTML CSS

文章目录 效果图参考文档代码 效果图 其实弹性布局的好处是&#xff1a;当网页大小变化&#xff08;如窗口resize&#xff09;时&#xff0c;处于弹性容器(flex container)中的弹性元素(flex item) 之间的距离也会变化。 需要特别注意的是&#xff1a; 弹性布局的主要CSS如下。…

生成式AI未来趋势预测

随着生成式AI技术的不断进步&#xff0c;关于其未来发展方向的讨论也愈发激烈。生成式AI的未来可能会在对话系统&#xff08;Chat&#xff09;中展现智慧&#xff0c;也可能在自主代理&#xff08;Agent&#xff09;中体现能力。以下是具体分析&#xff1a; 1. **技术成熟度**&…

开源邮箱套件介绍系列2:Roundcube webmail

1. 项目介绍 项目网站&#xff1a;Roundcube – Free and Open Source Webmail Software Roundcube 项目是一个免费的开源网络邮件解决方案&#xff0c;具有类似桌面的用户界面&#xff08;Webmail&#xff09;&#xff0c;易于安装/配置&#xff0c;并且可以在标准的LAMPP服…

网络安全新视角:2024年威胁 landscape与防护策略

网络安全新视角&#xff1a;2024年威胁 landscape与防护策略 2024年网络安全威胁趋势分析 云集中风险 随着云计算的普及&#xff0c;云服务商集中化趋势明显&#xff0c;企业越来越依赖于少数几家云服务商&#xff0c;导致云集中风险逐渐显现。例如&#xff0c;阿里云在2023…

PostgreSQL 中如何处理数据的唯一性约束?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 中如何处理数据的唯一性约束&#xff1f;一、什么是唯一性约束二、为什么要设置唯一性约束…

SAP第二季度财报和进一步裁员计划

7月22日公布了截至 2024 年 6 月 30 日的第二季度财务报告。以下位总体指标 当前云计算在手订单达 148 亿欧元&#xff0c;按名义货币和固定汇率计算均增长 28%云收入增长 25%&#xff0c;其中云 ERP 套件收入增长 33%&#xff0c;均按名义货币和固定汇率计算总收入增长 10%&a…

mysql 先子查询过滤再联合 和 先联合再过滤 执行效率问题

执行顺序 先子查询过滤再联合 SELECT XXX FROM(select * from edw_data_dyd.overrun_offsite_info WHERELENGTH( VEHICLE_ID ) > 12 AND CREATED_TIME > DATE_ADD(NOW(),INTERVAL -1 HOUR)AND CREATED_TIME < NOW()AND VEHICLE_ID not like %无车牌%AND VEHICLE_I…

Mac中maven配置安装路径

Mac中maven配置安装路径 没有下载maven的可以先下载&#xff1a;&#xff08;这里建议maven版本不要下高了&#xff09; 如果你的bash_profile中没有配置JAVA_HOME路径&#xff0c;可以按照下面的命令配置一下 获取JAVA的安装路径&#xff1a; /usr/libexec/java_home -V …

Pycharm2024最新版community社区版下载安装配置,快速上手

第一步&#xff1a;下载 方法1&#xff1a;官网链接 https://www.jetbrains.com/pycharm/download/?sectionwindows .方法2&#xff1a;百度网盘 链接&#xff1a;https://pan.baidu.com/s/1ic2N5hUQ2m1Kmyr5nK9Jxw?pwd76dt 提取码&#xff1a;76dt --来自百度网盘超级…

利用Nodejs-express框架调取python脚本

1.使用child_process 子进程 中的 execFile child_process 子进程 | Node.js v20 文档 (nodejs.cn) 官方文档 1-1安装child_process npm install child_process 1-2 在接口文件中使用 var express require(express); var router express.Router(); const { execFile } …

接口自动化测试框架实战-2-项目接口文档

上一小节我们完成了项目开发环境的搭建&#xff0c;本小结我们具体介绍一下项目中使用到的接口文档。 本次我们以钉钉开放接口作为项目接口测试的示例&#xff0c;方便大家都能统一学习和调用&#xff0c;具体接口如下&#xff1a; 1、获取企业内部应用的access_token 在获取…

poi库简单使用(java如何实现动态替换模板Word内容)

目录 Blue留言&#xff1a; Blue的推荐&#xff1a; 什么是poi库&#xff1f; 实现动态替换 第一步&#xff1a;依赖 第二步&#xff1a;实现word模板中替换文字 模板word&#xff1a; 通过以下代码&#xff1a;&#xff08;自己建一个类&#xff0c;随意取名&#xf…