Vue3.0基础教程:Vue事件监听;v-on指令;事件修饰符;按键修饰符;系统修饰符

Vue3.0 学习笔记 5

监听事件

v-on指令

v-on指令可以用来监听DOM事件,写法如下:

<button v-on:click="young()">young</button><!--标准写法-->
<button @click="young()">young</button><!--简略写法-->

v-on的表达式值是一个可执行的函数,如yong()函数

data(){
    return {
        age:18
    }
},
methods:{
    young(){
        this.age=this.age>0? this.age-1:this.age;
    }
}

传入原始event事件

<button @click="warn('Form cannot be submitted yet.', $event)">
  Submit
</button>
methods: {
  warn(message, event) {
    if (event) {
      event.preventDefault()
    }
    alert(message)
  }
}
v-on指令的参数可以有多个方法
<button @click="young(),youngMore()">young</button>

方法之间通过“,”逗号分隔

事件修饰符

冒泡:后面会涉及到这个概念。所谓的冒泡可以这样理解,一个DOM元素可以嵌套另一个DOM元素,当内层的DOM事件触发时会逐渐向他的父级DOM传递事件,父级又会向他的父级DOM传递事件,这个现象类似于冒泡现象,因此称为冒泡。

.stop

阻止冒泡:即阻止事件向上级DOM元素传递

<div style="width: 200px; height: 200px; background-color: #7CFC00;" @click="one">
  <div style="width: 100px; height: 100px; background-color: cyan;" @click.stop="two"></div>
</div>
methods:{
    one(){
        console.log("one");
    },
    two(){
        console.log("two");
    }
}

点击子div
在这里插入图片描述

点击父div
在这里插入图片描述

如果不设置stop修饰符点击内层div将会触发父div的事件
在这里插入图片描述

.prevent

阻止默认事件的发生,默认事件指对DOM的操作会引起自动执行的动作,比如点击超链接的时候会进行页面的跳转,点击表单提交按钮时会重新加载页面等,使用".prevent"修饰符可以阻止这些事件的发生。

. capture

捕获冒泡:即有冒泡发生时,有该修饰符的dom元素会先执行,如果有多个,从外到内依次执行,然后再按自 然顺序执行触发的事件。

. self

避免自己受到冒泡事件的影响,只有事件作用于自己才会触发。

. once

设置一种事件只能触发一次

. passive

对DOM的默认事件进行性能优化

Vue的事件修饰符支持串联使用,但在使用过程中一定要注意顺序

<a @click.stop.prevent="doThat"></a>

按键修饰符

通过按键修饰符我们可以监听特定的按键,Vue仍然使用v-on或@来实现

<!--监听enter按键事件-->
<input @keyup.enter="submit" />
常用按键别名
.enter
.tab
.delete (捕获“删除”和“退格”键)
.esc
.space
.up
.down
.left
.right
系统修饰符
/*系统修饰键*/
.ctrl
.alt
.shift
.meta//win对应⊞,Mac对应⌘,meta对应◆

注意修饰键和其他按键不同,在和 keyup 事件一起用时,事件触发时修饰键必须处于按下状态。换句话说,只有在按住 ctrl 的情况下释放其它按键,才能触发 keyup.ctrl。而单单释放 ctrl 也不会触发事件。

<input @keyup.ctrl.enter="submit" />

如上,必须按住Ctrl键不放再按enter键后释放才能触发事件

.exact修饰符

允许你控制由精确的系统修饰符组合触发的事件。

<!-- 即使 Alt 或 Shift 被一同按下时也会触发 -->
<button @click.ctrl="onClick">A</button>


<!-- 有且只有 Ctrl 被按下的时候才触发 -->
<button @click.ctrl.exact="onCtrlClick">A</button>


<!-- 没有任何系统修饰符被按下的时候才触发 -->
<button @click.exact="onClick">A</button>

鼠标按钮修饰符

.left
.right
.middle
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端人年终技术升级 2h极速入门Vue3.0 年终岁尾,又到了打工人写总结的时候,各位前端工程师,今年你的总结里是否有“Vue3.0”的身影呢? 9月Vue3.0问世,对前端人来说,这是技术升级的一大步,同样也是一场学习效率的角逐。  不论你是: Vue2.x的老用户  or  没有接触过Vue的小白; 前端工程师  or  想从事前端岗位的学生   只要你与前端工作有关, Vue3.0的问世都可能是你脱颖而出的好机会! 抢先进阶,成为首批Vue3.0开发者,升职、加薪、找工作一路绿灯!   你为Vue3.0入门,准备了多少学习时间? 三天?五天?还是七天? 完全不需要!本门课程可以帮您在2小时内极速入门。 即刻学习 年终完成项目升级 Vue在全球拥有超130万用户,在不同场景中均有应用;在国内Vue是最火热的前端框架,迭代后Vue3.0框架更快捷、精悍,容易维护,同时还添加了新特性,对于前端工作者来说,这是一次重要的进阶。   To 学生党&求职者:提升简历丰富度、提高自身价值,增加面试成功的几率 To 前端工程师:完成现有项目的优化升级,全面适配Vue3.0,年终总结上又可以添上一笔啦! 精华知识+名师指导 Vue小白也能快速进阶 问:没有用过Vue2.0,可以直接学习Vue3.0吗? 答:没问题,本门课程着重于基础夯实,Vue小白也能轻松掌握。   问:学完本门课程,我可以得到什么? 答:你可以建立对Vue知识的认知;       了解Vue的基本使用与调试方法;       掌握Vue的常用指令。   问:2个小时的课程,知识要点全面吗? 答:课程围绕Vue3.0入门开讲,全套知识要点浓缩在2个小时的课程中,学员每一分钟都可以Get满满干货!   问:师资力量有保障吗? 答:本门课程邀请到了南京大学软件工程硕士汤小洋,作为CSDN学院金牌讲师,汤小洋老师在本站拥有超15万学员。  汤小洋老师曾就职于擎天科技、中软国际、华为等上市公司,从事软件开发及软件教育培训多年,具有丰富的实战经验,授课耐心细致,通俗易懂,风趣幽默,善于将复杂问题简单化,曾为多家知名企业进行软件开发实训。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值