Vue学习v-on

Vue学习v-on


一、前言

v-on 是 Vue.js 中用于监听 DOM 事件的指令。它可以在触发特定事件时执行指定的 JavaScript 代码或者调用 Vue 实例中的方法。下面我来详细介绍一下 v-on 的用法和示例:

1、基本用法

你可以将 v-on 指令添加到 DOM 元素上,并指定要监听的事件和要执行的事件处理程序。

html 复制代码
<button v-on:click="handleClick">点击我</button>

在这个例子中,v-on:click 指令告诉 Vue.js 监听按钮的点击事件,当按钮被点击时,会执行 Vue 实例中名为 handleClick 的方法。

2、事件修饰符

Vue.js 提供了一些事件修饰符,用于处理特定的事件行为。例如,.stop 用于阻止事件冒泡,.prevent 用于阻止默认事件行为,.capture 将事件侦听器添加到捕获阶段等。

html 复制代码
<form v-on:submit.prevent="handleSubmit">
  <!-- 阻止表单默认提交行为 -->
  <button type="submit">提交</button>
</form>

3、事件对象

在事件处理程序中,你可以通过特殊变量 $event 访问原生 DOM 事件对象。

html 复制代码
<button v-on:click="handleClick($event)">点击我</button>
javascript 复制代码
methods: {
  handleClick(event) {
    console.log(event); // 输出原生 DOM 事件对象
  }
}

4、动态事件名

你也可以使用动态事件名来监听事件。

html 复制代码
<button v-on:[eventName]="handleClick">点击我</button>
javascript 复制代码
data() {
  return {
    eventName: 'click'
  };
},
methods: {
  handleClick() {
    console.log('按钮被点击了');
  }
}

5、事件修饰符和按键修饰符

除了一般的事件修饰符外,Vue.js 还提供了按键修饰符,用于监听键盘事件。

html 复制代码
<input v-on:keyup.enter="submit">

在这个例子中,keyup.enter 表示监听键盘的回车键,并在按下回车键时执行 submit 方法。

6、自定义事件

除了原生 DOM 事件外,Vue.js 还支持自定义事件。你可以使用 $emit 方法在子组件中触发自定义事件,并在父组件中使用 v-on 监听这些事件。

二、总结

v-on 指令是 Vue.js 中用于监听 DOM 事件的主要方式,它可以监听原生 DOM 事件和自定义事件,并支持事件修饰符和按键修饰符,以及动态事件名的绑定。

相关推荐
梯度下降者3 小时前
Nuxt框架
vue.js·服务端渲染·全栈开发·混合渲染·nuxt框架
Rabitebla5 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
Gary移动存储固件6 小时前
eMMC5.1协议中文学习讲解(6.6.17~6.6.22.4.6)
学习·ufs·emmc·nand·存储固件
一个天蝎座 白勺 程序猿6 小时前
别让收藏夹替你学习:我搭AI知识体系的完整方法,脚本直接拿去用
人工智能·学习·ai·ai学习
楚山之石7 小时前
【Nat Biomed Eng】Connectome 2.0 超高梯度扫描仪:500 mT/m 与 600 T/m/s 把活体人脑微观结构分辨推进到亚微米级
图像处理·学习·数据分析·mri
坤坤子吖10 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
程序员老刘·10 小时前
Flutter 3.50更新,开发者应该关注什么?
flutter·ai编程·跨平台开发
yuyuxun110 小时前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
LGL6030A14 小时前
Java学习历程31——初识Spring Boot
java·spring boot·学习
FungLeo15 小时前
成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
前端·vue.js·编辑器·markdown·文件上传·formdata·附件管理