Vue入门指北——modifier

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第五天,点击查看活动详情

前言

在我们在进行开发的时候,往往会对当前点击事件进行限制,比如当我们需要按下回车键触发相应的method事件,并阻止默认的换行操作的时候,可能需要通过JavaScript判断相应的keycode,并且通过event.preventDefault()阻止他的默认行为。虽然说我们可以很轻松的实现这点,但更好的方式:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。而这一点也是vue官方所想看到,因此他推出很多modifier(修饰符),帮助我们更好的实现他,合理使用,事半功倍。

按键修饰符

  • KeyDown:按下按键时触发
  • KeyPress:按下按键,并且产生一个字符时触发
  • KeyUp: 松开某一个按键时触发

按键别名: .enter,.tab,.delete,.esc,.space,.up,.down,.left,.right

注:.delete(捕获“删除”和“退格”键)

当我们想监听回车键按下执行send方式时:

<input @keyup.enter="send" />
复制代码

当然还有鼠标键组合键等等,这里不做阐述,想了解更多功能请查阅官方文档。

事件修饰符

这里介绍下几个常用的修饰符:具体请参考官方文档。

  • .stop:阻止事件冒泡
<a @click.stop="doThis"></a>
复制代码
  • .prevent:阻止事件默认行为
<form @submit.prevent="onSubmit"></form>
复制代码
  • .native:将原生事件绑定到组件
<components @click.native="onSend" />
复制代码

当我们要做一个聊天页面,用户想在输入框输入消息后按下回车键,立即发送消息时,就可以通过vue提供的修饰符组合起来做的,而调用的方法只需要出处理相应业务就可以。

以element的input为例:

<el-input @keydown.enter.native.prevent="send" />
复制代码

通过上文的按键修饰符加上相应的键名, native和prevent事件修饰符就可以很轻松实现这种效果。

猜你喜欢

转载自juejin.im/post/7128009932514951175