Vue修饰符

事件修饰符

Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation()。

Vue.js通过由点(.)表示的指令后缀来调用修饰符。

  • .stop
  • .prevent
  • .capture
  • .self
  • .once
 1 <!-- 阻止单击事件冒泡 -->
 2 <a v-on:click.stop="doThis"></a>
 3 <!-- 提交事件不再重载页面 -->
 4 <form v-on:submit.prevent="onSubmit"></form>
 5 <!-- 修饰符可以串联  -->
 6 <a v-on:click.stop.prevent="doThat"></a>
 7 <!-- 只有修饰符 -->
 8 <form v-on:submit.prevent></form>
 9 <!-- 添加事件侦听器时使用事件捕获模式 -->
10 <div v-on:click.capture="doThis">...</div>
11 <!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
12 <div v-on:click.self="doThat">...</div>
13
14 <!-- click 事件至少触发一次,2.1.4版本新增 -->
15 <a v-on:click.once="doThis"></a>

按键修饰符

Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:

<!-- 只有在 keyCode 是 13 时调用 vm.submit() --><inputv-on:keyup.13="submit">

记住所有的 keyCode 比较困难,所以 Vue 为最常用的按键提供了别名:

<!-- 同上 --><inputv-on:keyup.enter="submit"><!-- 缩写语法 --><input @keyup.enter="submit">

全部的按键别名:

  • .enter
  • .tab
  • .delete (捕获 "删除" 和 "退格" 键)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right
  • .ctrl
  • .alt
  • .shift
  • .meta
<p><!-- Alt + C --><input @keyup.alt.67="clear"><!-- Ctrl + Click --><div @click.ctrl="doSomething">Do something</div>
<!-- 阻止单击事件冒泡 --><av-on:click.stop="doThis"></a><!-- 提交事件不再重载页面 --><formv-on:submit.prevent="onSubmit"></form><!-- 修饰符可以串联  --><av-on:click.stop.prevent="doThat"></a><!-- 只有修饰符 --><formv-on:submit.prevent></form><!-- 添加事件侦听器时使用事件捕获模式 --><divv-on:click.capture="doThis">...</div><!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 --><divv-on:click.self="doThat">...</div><!-- click 事件至少触发一次,2.1.4版本新增 --><av-on:click.once="doThis"></a>
时间: 2024-10-14 16:33:22

Vue修饰符的相关文章

Vue的修饰符 .sync

.sync 修饰符以前存在于 vue1.0版本里,在2.0版本中移除了 .sync  但是在2.0发布之后的实际应用中,我们发现 .sync 还是有其适用之处的,比如在开发可复用组件库时.我们需要做的只是让子组件改变父组件状态的代码更容易被区分.从2.3.0起,Vue重新引入了 .sync修饰符,但是这次它只是作为一个编译时的语法糖存在.它会被扩展为一个自动更新父组件属性的 v-on 监听器. <com :foo.sync="bar"></com> 会被扩展为:

Vue.js学习笔记(三) - 修饰符

本篇将简单介绍常用的修饰符. 在上一篇中,介绍了 v-model 和 v-on 简单用法.除了常规用法,这些指令也支持特殊方式绑定方法,以修饰符的方式实现.通常都是在指令后面用小数点“.”连接修饰符名称. 一.v-model的修饰符 v-model 是用于在表单表单元素上创建双向数据绑定的指令.在 <input> 和 <textarea> 上,默认通过监听元素的 input 事件来更新绑定的属性值. 为了能明显的看到绑定属性值的变化,需要在Chrome浏览器中安装Vue Devto

vue中常用的事件和修饰符简单总结

1:阻止冒泡事件 JS事件流其中一种是冒泡事件,当一个元素被触发一个事件时,该目标元素的事件会优先被执行,然后向外传播到每个祖先元素,恰如水里的一个泡泡似的,从产生就一直往上浮,到在水平面时,它才消失.在这个过程中,如果你只希望事件发生在目标元素,而不想它传播到祖先元素上去,那么你需要在"泡泡"离开对象之前刺破它. 在vue中怎么写? 2:阻止默认行为 在vue中怎么写? 3:键盘事件 获取键码?通过事件对象来获取 注意:keydown事件和keyup事件的区别? keydown是在键

vue .sync修饰符的使用

vue的官网介绍非常不错,先通读一遍. 2.3.0+ 新增 在有些情况下,我们可能需要对一个 prop 进行"双向绑定".不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源. 这也是为什么我们推荐以 update:my-prop-name 的模式触发事件取而代之.举个例子,在一个包含 title prop 的假设的组件中,我们可以用以下方法表达对其赋新值的意图: this.$emit('update:title', newTit

Vue中的native修饰符解析

native修饰符 一般来说,vue本身提供了v-on:eventName这个语法来提供vue的时事件绑定,通常使用@eventName这个语法糖代替上述语法. 使用过程中没有考虑@eventName作用标签的类型,因为一般将该语法用在html原生标签,在组件标签上使用的时候,出现了@click="handler"无法触发handler事件. 以下为事故现场: <my-component @click="handler"><my-component

vue 中 v-model 和 .sync修饰符

v-model   1 <input v-model="searchText"> 2 3 等价于 4 <input 5 v-bind:value="searchText" 6 v-on:input="searchText = $event.target.value" 7 > 8 当用在组件上时,v-model 则会这样: 9 <custom-input 10 v-bind:value="searchText

Vue—事件修饰符

Vue事件修饰符 Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault() 或 event.stopPropagation(). Vue.js通过由点 (.) 表示的指令后缀来调用修饰符. .stop.prevent.capture.self.once <!-- 阻止单击事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- 提交事件不再重载页面

vue之.native修饰符

.native 修饰符就是用来注册元素的原生事件而不是组件自定义事件的 比如:自定义 Button.vue 组件 <template> <button type="button" @click="clickHandler"><slot /></button> </template> export default { name: 'button', methods: { clickHandler () { t

Vue学习之路第八篇:事件修饰符

学习准备: ①.顾名思义,"事件修饰符"那么肯定是用来修饰事件,既然和事件有关系,那么肯定和"v-on"指令(也可简写为:@)有关系了. ②.事件修饰符有以下几类: .stop:阻止冒泡 .prevent:阻止默认事件 .capture:事件捕获 .self:只当事件在该元素本身触发时触发回调 .once:事件只触发一次 1.阻止冒泡 页面代码: <div id="app" @click="clickDiv()">