Vue常用的修饰符及使用的场景

2.事件修饰符

事件修饰符是对事件捕获以及目标进行了处理,修饰符有下:

  • stop

阻止了事件冒泡,相当于调用了event.stopPropagation方法

<button @click.stop=“shout(1)”>ok

//只输出1

  • prevent

阻止了事件默认行为,相当于调用了event.preventDefault方法

  • self

只有在event.target是当前元素自身时触发

使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.prevent.self 会阻止所有的点击,而 v-on:click.self.prevent 只会阻止对元素自身的点击

  • once

绑定的事件只能触发一次

<button @click.once=“shout(1)”>ok

  • capture

让事件触发从包含这个元素的顶层开发往下依次触发

obj1

obj2

obj3

obj4

// 输出结构: 1 2 4 3

  • passive

这个我们以移动端监听元素滚动事件说明,在监听元素滚动事件的时候,会一直触发onscroll事件让页面变的越来越卡,因此在我们使用这个修饰符后,相当于给onscroll事件增加了.lazy修饰符

不要把 .passive 和 .prevent 一起使用,因为 .prevent 将会被忽略,同时浏览器可能会向你展示一个警告。

passive 会告诉浏览器你不想阻止事件的默认行为

  • native

让组件变成像html内置标签那样监听根元素的原生事件,否则组件上使用v-on只会监听自定义事件

使用.native修饰符来操作普通HTML标签是会令事件失效的

3.鼠标按钮修饰符

  • 鼠标按钮修饰符针对的就是鼠标的左键(left)、右键(right)和中键(middle)的点击操作,如下:

<button @click.left=“shout(1)”>ok

<button @click.right=“shout(1)”>ok

<button @click.middle=“shout(1)”>ok

4.键盘修饰符

键盘修饰符用来修饰键盘的事件(如:onkeyup、onkeydown等),键盘的事件触发需要相对应的keyCode。然而keyCode存在很多,因此为了使用方便Vue给我们提供了别名的修饰符,分为以下两种:

  • 普通按键(enter、delete、space、tab、esc…)

  • 系统修饰键(ctrl、shift、alt…)

  • 也可以直接用按键的代码来做修饰符(如:enter为13)

<input @keyup.enter=“onEnter”>

<input @keyup.13=“onEnter”>

  • 官方例子:

Vue.config.keyCodes = {

v: 86,

f1: 112,

// camelCase 不可用

mediaPlayPause: 179,

// 取而代之的是 kebab-case 且用双引号括起来

“media-play-pause”: 179,

up: [38, 87]

}

使用方式:

<input type=“text” @keyup.media-play-pause=“method”>

5.v-bind修饰符

v-bind修饰符主要为属性进行操作的,这个也是所有修饰符中最不常用的一类,这些修饰符有:

  • async

能对props进行一个双向绑定

//父组件

//子组件

this.$emit(‘update:myMessage’,params);

以上这种方法相当于以下的简写:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

你有帮助,可以扫码获取!!(资料价值较高,非无偿)**

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

资料领取方式:戳这里前往获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值