Vue修饰符,修饰符有哪些有什么应用场景:报仇符
作者:符咒法事网发布时间:2022-07-18分类:符咒浏览:75
一、修饰符是什么
在程序世界里报仇符,修饰符是用于限定类型以及类型成员的声明的一种符号
师父微信: sanqingge8
师父微信: sanqingge8
在Vue中报仇符,修饰符处理了许多DOM事件的细节,让我们不再需要花大量的时间去处理这些烦恼的事情,而能有更多的精力专注于程序的逻辑处理
vue中修饰符分为以下五种:
表单修饰符
事件修饰符
鼠标按键修饰符
键值修饰符
v-bind修饰符
二、修饰符的作用
表单修饰符
在我们填写表单的时候用得最多的是input标签报仇符,指令用得最多的是v-model
关于表单的修饰符有如下:
lazy
trim
number
lazy
在我们填完信息报仇符,光标离开标签的时候,才会将值赋予给value,也就是在change事件之后再进行信息同步
input type="text" v-model.lazy="value"
p{{value}}/p
trim
自动过滤用户输入的首空格字符报仇符,而中间的空格不会过滤
input type="text" v-model.trim="value"
number
自动将用户的输入值转为数值类型报仇符,可如果这个值无法被parseFloat解析,则会返回原来的值
input v-model.number="age" type="number"
事件修饰符
如果需要在内联语句处理器中访问原生DOM事件报仇符。可以使用特殊变量$event,把它传入到methods中的方法中。在vue中,事件修饰符处理了许多DOM事件的细节,让我们不再需要花大量的时间去处理这些烦恼的事情,而能有更多的精力专注于程序的逻辑处理。在vue中事件修饰符主要有:
stop
prevent
self
once
capture
passive
native
stop
阻止了事件冒泡报仇符,相当于调用了event.stopPropagation方法
展开全文
div @click="shout(2)"
button @click.stop="shout(1)"ok/button
/div
//只输出1
prevent
阻止了事件的默认行为报仇符,相当于调用了event.preventDefault方法
form v-on:submit.prevent="onSubmit"/form
self
只当在 event.target 是当前元素自身时触发处理函数
div v-on:click.self="doThat".../div
使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生报仇符。因此,用 v-on:click.prevent.self 会阻止
所有的点击报仇符,而 v-on:click.self.prevent 只会阻止对元素自身的点击
once
绑定了事件以后只能触发一次报仇符,第二次就不会触发
button @click.once="shout(1)"ok/button
capture
使事件触发从包含这个元素的顶层开始往下触发
div @click.capture="shout(1)"
obj1
div @click.capture="shout(2)"
obj2
div @click="shout(3)"
obj3
div @click="shout(4)"
obj4
/div
/div
/div
/div
// 输出结构: 1 2 4 3
passive
在移动端报仇符,当我们在监听元素滚动事件的时候,会一直触发onscroll事件会让我们的网页变卡,因此我们使用这个修饰符的时候,相当于给onscroll事件整了一个.lazy修饰符
!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 --
!-- 而不会等待 `onScroll` 完成 --
!-- 这其中包含 `event.preventDefault()` 的情况 --
div v-on:scroll.passive="onScroll".../div
不要把 .passive 和 .prevent 一起使用,因为 .prevent 将会被忽略,同时浏览器可能会向你展示一个警告报仇符。
passive 会告诉浏览器报仇符你不想阻止事件的默认行为
native
让组件变成像html内置标签那样监听根元素的原生事件报仇符,否则组件上使用 v-on 只会监听自定义事件
my-component v-on:click.native="doSomething"/my-component
使用.native修饰符来操作普通HTML标签是会令事件失效的
鼠标按钮修饰符
鼠标按钮修饰符针对的就是左键、右键、中键点击报仇符,有如下:
left 左键点击
right 右键点击
middle 中键点击
button @click.left="shout(1)"ok/button
button @click.right="shout(1)"ok/button
button @click.middle="shout(1)"ok/button
这些修饰符会限制处理函数仅响应特定的鼠标按钮报仇符。
键盘修饰符
在JavaScript事件中除了前面所说的事件,还有键盘事件,也经常需要检测常见的键值报仇符。在Vue中允许v-on在监听键盘事件时添加关键修饰符。记住所有的keyCode比较困难,所以Vue为最常用的键盘事件提供了别名:
.enter:回车键
.tab:制表键
.delete:删除键
.esc:返回键
.space:空格键
.up:向上键
.down:向下键
.left:向左键
.right:向右键
键盘修饰符是用来修饰键盘事件(onkeyup报仇符,onkeydown)的,有如下:
keyCode存在很多报仇符,可vue为我们提供了别名,分为以下两种:
普通键(enter、tab、delete、space、esc、up...)
系统修饰键(ctrl、alt、meta、shift...)
// 只有按键为keyCode的时候才触发
input type="text" @keyup.keyCode="shout()"
还可以通过以下方式自定义一些全局的键盘码别名
Vue.config.keyCodes.f2 = 113
v-bind修饰符
v-bind修饰符主要是为属性进行操作报仇符,用来分别有如下:
async
prop
camel
async
能对props进行一个双向绑定
//父组件
comp :myMessage.sync="bar"/comp
//子组件
this.$emit('update:myMessage',params);
以上这种方法相当于以下的简写
//父亲组件
comp :myMessage="bar" @update:myMessage="func"/comp
func(e){
this.bar = e;
//子组件js
func2(){
this.$emit('update:myMessage',params);
使用async需要注意以下两点:
使用sync的时候报仇符,子组件传递的事件名格式必须为update:value,其中value必须与子组件中props中声明的名称完全一致
注意带有 .sync 修饰符的 v-bind 不能和表达式一起使用
将 v-bind.sync 用在一个字面量的对象上报仇符,例如 v-bind.sync=”{ title: doc.title }”,是无法正常工作的
props
设置自定义标签属性报仇符,避免暴露数据,防止污染HTML结构
input id="uid" title="title1" value="1" :index.prop="index"
camel
将命名变为驼峰命名法报仇符,如将view-Box属性名转换为 viewBox
svg :viewBox="viewBox"/svg
三、应用场景
根据每一个修饰符的功能报仇符,我们可以得到以下修饰符的应用场景:
.stop:阻止事件冒泡报仇符,等同于JavaScript中的event.stopPropagation(),防止事件冒泡
.native:绑定原生事件
.once:事件只执行一次
.self :将事件绑定在自身身上报仇符,相当于阻止事件冒泡,只会触发自己范围内的事件,不包含子元素
.prevent:阻止默认事件报仇符,等同于JavaScript中的event.preventDefault(),防止执行预设的行为(如果事件可取消,则取消该事件,而不停止事件的进一步传播)
.caption:用于事件捕获报仇符,与事件冒泡的方向相反,事件捕获由外到内
.once:只触发一次
.keyCode:监听特定键盘按下
.right:右键
冒泡事件:嵌套两三层父子关系报仇符,然后所有都有点击事件,点击子节点,就会触发从内至外 子节点-》父节点的点击事件
系统修饰键
可以用如下修饰符来实现仅在按下相应按键时才触发鼠标或键盘事件的监听器报仇符。
.ctrl
.alt
.shift
.meta
.exact修饰符:允许报仇符你控制由精确的系统修饰符组合触发事件
input修饰符(例如:v-model.xxxx使用)
.lazy:在改变后才触发(也就是只有input不聚焦的时候才会执行)
.number:将输入的字符串转换为Number类型(可是如果输入字符串报仇符,输出的还是string,只是控制台会警告)
.trim:自动过滤用户输入的首尾空格
自定义按键修饰符别名
在Vue中可以通过config.keyCodes自定义按键修饰符别名报仇符。例如,由于预先定义了keycode 116(即F5)的别名为f5,因此在文字输入框中按下F5,会触发prompt方法,出现alert。
总结
在Vue中,使用v-on来给元素绑定事件,而为了更好的处理逻辑方面的事物,Vue提供了一个methods报仇符。在methods中定义一些方法,这些方法可以帮助我们处理一些逻辑方面的事情。而在这篇文章中,我们主要介绍了一些事件的修饰符,比如常见的阻止事件冒泡,键盘修饰符等。除此之外,还提供了config.keyCodes提供自定义按键修饰符别名。
标签:报仇符
相关推荐
- 致“少年的你”,这张“护身符”请收好!:报仇符
- 冲击大赛三连冠!孙颖莎粉丝团现场派发大礼包,力争为陈梦报仇:报仇符
- 明星身份并不是逍遥法外的护身符,娱乐圈太“脏”,真的该洗洗了:报仇符
- 4-2!王楚钦为张本智和报仇,加冕世界杯冠军,背靠背夺冠:报仇符
- 冠军:伯明翰对女王公园巡游者!为老师报仇?为什么我期待伯明翰:报仇符
- 愤怒如虎,王楚钦为张本智报仇,夺得冠军,现场观众欣喜若狂:报仇符
- 江湖最厉害的五大暗器,让人闻风丧胆,生死符第二,第一意想不到:报仇符
- 有新护身符加持,轰-6可以更安全地在敌人头顶狂泻炸弹:报仇符
- 丈夫被暗杀,她为报仇,奋斗10年,登上权利巅峰,终于报仇雪恨:报仇符
- CBA今日比赛:申金战同病欲止败,京基战首钢报仇:报仇符
- 符咒排行