Vue2事件处理(v-on)

1.事件处理

(1)指令的语法格式

<标签 v-指令名:事件名="表达式">{{插值语法}}</标签>

(2)"表达式"位置都可以写什么?
常量、JS表达式、Vue实例所管理的XXX

1.1 事件绑定

(1)在Vue当中完成事件绑定需要的指令:v-on指令
(2)语法格式:v-on:事件名=“表达式”
(3)例如:
①v-on:click=“表达式” 表示当鼠标单机事件之后,执行表达式
②v-on:keydown=“表达式” 表示当发生键盘按下事件之后,执行表达式
(4)在Vue当中,所有事件所关联的回调函数,需要在Vue实例的配置项methods中进行定义。methods是一个对象:{},在这个methods中可以定义多个回调函数
(5)v-on指令的简写形式:
①v-on:click 简写为@click
②v-on:keydown简写为@keydown
(6)绑定的回调函数,如果函数调用时不需要传递任何参数,小括号()可以省略
(7)Vue在调用回调函数的时候,会自动给回调函数传递一个对象,这个对象是:当前发生的事件对象。
(8)在绑定回调函数的时候,如果已经传了自己定义的对象,可以在回调函数的参数上加上$event 占位符,Vue框架看到这个占位符之后,会自动将当前事件以对象的形式传过去。

<body><div id="app"><button @click="sayHi($event,'abc')">hi button2</button></div>   <script>const vm = new Vue({el: '#app',data: {msg:'vues'},methods:{sayHi(event,name){console.log(event,name);}}})  </script>
</body>

1.2 methods详情

(1)methods对象中的方法可以通过vm去访问;methods中的箭头函数中的this是从父级作用域当中继承的,对于当前程序来说,父级作用域是全局作用域:window

1.3 事件修饰符

(1).stop:停止事件冒泡,等同于event.stopProagation()

<body><div id="app"><!-- 停止事件冒泡 --><div @click="san"><div @click="er">// 如果不加会出现1 2 3,加了就只显示1<button @click.stop="yi">事件冒泡</button></div></div></div><script>const vm = new Vue({el: '#app',data: {msg:'事件修饰符'},methods: {yi(){alert(1)},er(){alert(2)},san(){alert(3)}}})</script>
</body>

(2).prevent:等同于event.preventDefault() 阻止事件的默认行为

<body><div id="app"><h1>{{msg}}</h1>// 使用 .prevent 后就不会跳转到百度页面了<a href="https://www.baidu.com" @click.prevent="yi">百度</a></div><script>const vm = new Vue({el: '#app',data: {msg:'事件修饰符'},methods: {yi(){alert('去百度')}}})</script>
</body>

(3).capture:添加事件监听器时使用事件捕获模式
添加事件监听器包括两种不同的方式:
①从内到外添加(事件冒泡模式):下面例子打印 1、2、3
②从外到内添加(事件捕获模式):下面例子打印 3、2、1

<body><div id="app"><!-- 添加事件监听器时使用事件捕获模式 --><div @click.capture="san"><div @click.capture="er"><button @click.capture="yi">添加事件监听器时使用事件捕获模式</button></div></div></div><script>const vm = new Vue({el: '#app',methods: {yi(){alert(1)},er(){alert(2)},san(){alert(3)}}})</script>
</body>

(4).self:这个事件如果是“我自己身上的元素”发生的事件,不是别人传递过来的,则执行相应的程序

<body><div id="app"><div @click="san">// 此时2就不会显示出来<div @click.self="er"><button @click="yi">使用.self</button></div></div></div><script>const vm = new Vue({el: '#app',methods: {yi(){alert(1)},er(){alert(2)},san(){alert(3)}}})</script>
</body>

(5).once:事件只发生一次

1.4 按键修饰符

(1).enter
(2).tab(必须配合keydown事件使用)
(3).delete (捕获“删除”和“退格”键)
(4).esc
(5).space
(6).up
(7).down
(8).left
(9).right

<body><div id="app"><!-- 回车后触发方法 --><input type="text" @keyup.enter="getInfo"><br> </div><script>const vm = new Vue({el: '#app',methods: {getInfo(event) {console.log(event.target.value)}}})</script>
</body>

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

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

相关文章

51单片机单击按键,数码管显示学号;双击按键,数码管显示全8

1、功能描述 单击按键&#xff0c;数码管显示学号&#xff1b;双击按键&#xff0c;数码管显示全8 2、实验原理 按键输入检测:通过检测按键的电平变化来识别按键是否被按下。当按键被按下时&#xff0c;电平从高变低,单片机通过外部中断或轮询方式检测这一变化。 数码管显示…

Debian常用命令有哪些?

Debian是一种流行的Linux发行版&#xff0c;它提供了一组强大的命令行工具来帮助用户管理系统和文件。以下是一些Debian中常用的命令&#xff0c;按照不同的功能分类进行了归纳&#xff1a; 文件与目录操作 ls 功能&#xff1a;列出目录内容。常用选项&#xff1a; -l&#xf…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《计及电力不平衡风险的配电网分区协同规划》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

LLVM Cpu0 新后端6

想好好熟悉一下llvm开发一个新后端都要干什么&#xff0c;于是参考了老师的系列文章&#xff1a; LLVM 后端实践笔记 代码在这里&#xff08;还没来得及准备&#xff0c;先用网盘暂存一下&#xff09;&#xff1a; 链接: https://pan.baidu.com/s/1yLAtXs9XwtyEzYSlDCSlqw?…

【MySQL】 深入了解 MySQL 存储过程:定义、优势及示例

我已经从你的 全世界路过 像一颗流星 划过命运 的天空 很多话忍住了 不能说出口 珍藏在 我的心中 只留下一些回忆 &#x1f3b5; 牛奶咖啡《从你的全世界路过》 在数据库管理系统中&#xff0c;存储过程&#xff08;Stored Procedure&#xff09;是一种重…

探究IOC容器刷新环节初始化前的预处理

目录 一、IOC容器的刷新环节快速回顾 二、初始化前的预处理prepareRefresh源码分析 三、初始化属性源 &#xff08;一&#xff09;GenericWebApplicationContext初始化属性源 &#xff08;二&#xff09;StaticWebApplicationContext初始化属性源 四、初始化早期事件集合…

汇川CodeSysPLC教程03-2-4 RS485

前情回顾 在前面介绍串口通讯的视频当中&#xff0c;我们提到了RS232&#xff0c;也顺带提到了RS485&#xff0c;本期将会对RS485做比较全面的比较和盘点。 什么是RS485&#xff1f; RS485是一种用于串行通信的标准&#xff0c;通常用于工业自动化和远距离数据传输。它在电气…

3.大模型高效微调PEFT

大模型高效微调(PEFT)技术 预训练模型的背景 预训练与微调:传统的微调方法通常涉及对整个预训练模型的参数进行再训练,以适应特定任务。这虽然有效,但计算成本高,且需要大量的标记数据。模型结构:像BERT或GPT这样的模型通常包含数亿甚至数十亿个参数,构成一个深层次的…

Qt——升级系列(Level Four):控件概述、QWidget 核心属性、按钮类控件

目录 控件概述 QWidget 核心属性 核心属性概览 enabled geometry windowTitle windowIcon windowOpacity cursor font toolTip focusPolicy styleSheet 按钮类控件 Push Button Radio Buttion Check Box Tool Button 控件概述 Widget 是 Qt 中的核⼼概念. 英⽂原义是 "…

西门子学习笔记11 - PTO脉冲指令的使用

1、使用指令前的设置 1、打开一个脉冲发生器&#xff0c;并启用 2、选择使用PTO(脉冲A和方向B) 3、硬件设置输出 4、这样前期的准备工作就完成了 2、指令的使用 1、添加指令CTRL_PTO 2、配置如下 3、方向控制程序如下 4、最后进行测试即可

C语言之存储类、作用域、生命周期、链接属性

一 &#xff1a;概念解析 1&#xff1a; 存储类 &#xff08;1&#xff09;存储类就是存储类型&#xff0c;就是描述C语言变量存储在什么地方 &#xff08;2&#xff09;内存有多种管理方法&#xff1a;栈、堆数据段、bss段、.text段......一个变量的存储类属性就是描述…

html--万年历

<!DOCTYPE html> <html lang"zh_CN"><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8" /><meta charset"utf-8" /><title>万年历</title><link rel"styles…

C语言 | Leetcode C语言题解之第142题环形链表II

题目&#xff1a; 题解&#xff1a; struct ListNode* detectCycle(struct ListNode* head) {struct ListNode *slow head, *fast head;while (fast ! NULL) {slow slow->next;if (fast->next NULL) {return NULL;}fast fast->next->next;if (fast slow) {s…

LLVM Cpu0 新后端9 objdump readelf

想好好熟悉一下llvm开发一个新后端都要干什么&#xff0c;于是参考了老师的系列文章&#xff1a; LLVM 后端实践笔记 代码在这里&#xff08;还没来得及准备&#xff0c;先用网盘暂存一下&#xff09;&#xff1a; 链接: https://pan.baidu.com/s/1yLAtXs9XwtyEzYSlDCSlqw?…

C-Linux: 题集

1 C语言 1 简述 全局变量 和 局部变量的区别: 存储位置:全局变量存储在静态区,局部变量存储在栈上 作用范围:全局变量对整个程序可见,局部变量仅对其定义的函数可见 生命周期:全局变量在程序执行过程中都存在,局部变量的生命周期仅在其所在函数执行期间存在 2 死锁…

EE trade:如何在A股市场中有效设定止盈止损点

A股市场充满机遇和风险&#xff0c;很多投资者在这里实现了财富增长&#xff0c;也有投资者在这里遭受损失。如何在波动性较大的市场中&#xff0c;控制风险&#xff0c;保护利润和本金?止盈止损是关键。 什么是止盈止损? 止盈止损是指在交易中&#xff0c;根据预先设定的条…

【人工智能】AIGC是什么?

AIGC是“人工智能生成内容”&#xff08;Artificial Intelligence Generated Content&#xff09;的缩写&#xff0c;它指的是利用人工智能技术自动创建文本、图像、音频、视频等不同类型的内容。AIGC技术的发展&#xff0c;使得计算机能够模拟人类的创作过程&#xff0c;生成具…

如何稳定高效地进行 TiDB 数据导入导出?

对于在数据库行业中摸爬滚打多年的老鸟 DBA 来说&#xff0c;TiDB 可是一点也不陌生&#xff0c;作为 PingCAP 公司自主研发的真开源分布式数据库&#xff0c;其先进的设计理念以及丰富的生态工具&#xff0c;可算得上是业界自主创新和性能领先的代名词。 TiDB 是谁&#xff1…

python一点通: Async异步函数很好,但是如何有效执行阻塞任务?

当使用 asyncio.create_task(function1) 和 asyncio.create_task(function2) 时&#xff0c;你正在创建两个将在同一个事件循环中并发运行的异步任务。这些任务运行是否高效取决于它们本身的性质。 理解异步任务 如果 function1 和 function2 是异步函数&#xff08;即&#…

探索PostgreSQL的多模型世界:灵活存储,无限可能

在数据库的世界里&#xff0c;有一种神器&#xff0c;它以其无与伦比的灵活性和强大的功能&#xff0c;赢得了全球开发者的青睐。它就是——PostgreSQL&#xff0c;一个真正的多模型数据库管理系统。 为什么选择PostgreSQL&#xff1f; 可靠性和稳定性&#xff1a;PostgreSQL…