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

使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 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);

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

//父亲组件

<comp :myMessage=“bar” @update:myMessage=“func”>

func(e){

this.bar = e;

}

//子组件js

func2(){

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

}

使用async需要注意以下几点:

使用async的时候,自组件传递的事件名必须格式必须为update:value, 其中value必须与自组件中props中声明的名称完全一致

注意大理由.sync修饰符的v-bind不能和其他的表达式一起使用

将v-bind.sync用在一个字面量的对象上,例如v-bind.sync=“{title: doc.title}”, 是无法正常工作的

最后

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

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

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

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

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

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值