跳到主要内容

Vue.js中的事件修饰符有哪些?如何使用?

参考答案:

Vue.js 提供了一些内置的事件修饰符,这些修饰符可以用来改变事件的默认行为,使得在处理事件时更加方便。下面是一些 Vue.js 中的事件修饰符:

  1. .stop:阻止事件向上冒泡。
<button @click.stop="doThis">阻止冒泡</button>
  1. .prevent:阻止事件的默认行为。
<form @submit.prevent="onSubmit">阻止表单的默认提交行为</form>
  1. .capture:使用事件捕获模式,即元素自身触发的事件先在此处处理,然后再交由内部元素进行处理。
<div @click.capture="doThis">事件捕获</div>
  1. .self:只当事件在该元素本身(而不是子元素)触发时触发回调。
<div @click.self="doThat">只在该元素上触发</div>
  1. .once:事件将只会触发一次。
<button @click.once="doThis">只触发一次</button>
  1. .passive:事件的默认行为将会立即触发,不会等待 vm.$emit 触发。
<div @scroll.passive="onScroll">滚动事件</div>

这些修饰符可以单独使用,也可以一起使用,例如:

<button @click.stop.prevent="doThat">阻止冒泡和默认行为</button>

这些修饰符提供了非常方便的方式来处理 DOM 事件,而无需手动编写额外的 JavaScript 代码。