Buscar..


Introducción

Hay algunas operaciones de uso frecuente como event.preventDefault() o event.stopPropagation() dentro de los controladores de eventos. Aunque podemos hacer esto fácilmente dentro de los métodos, sería mejor si los métodos fueran puramente lógicos de datos en lugar de tener que lidiar con los detalles del evento DOM.

Modificadores de eventos

Vue proporciona modificadores de eventos para v-on llamando a las directivas postfixes denotadas por un punto.

  • .stop
  • .prevent
  • .capture
  • .self
  • .once

Por ejemplo:

<!-- the click event's propagation will be stopped -->
<a v-on:click.stop="doThis"></a>

<!-- the submit event will no longer reload the page -->
<form v-on:submit.prevent="onSubmit"></form>

<!-- use capture mode when adding the event listener -->
<div v-on:click.capture="doThis">...</div>

<!-- only trigger handler if event.target is the element itself -->
<!-- i.e. not from a child element -->
<div v-on:click.self="doThat">...</div>

Modificadores clave

Cuando escuchamos eventos de teclado, a menudo necesitamos verificar códigos de teclas comunes. Recordar todos los keyCodes es una molestia, por lo que Vue proporciona alias para las claves más utilizadas:

  • .enter
  • .tab
  • .delete (captura las teclas "Eliminar" y "Retroceso")
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

Por ejemplo:

<input v-on:keyup.enter="submit">

Modificadores de entrada

  • .trim

Si desea que las entradas del usuario se recorten automáticamente, puede agregar el modificador de trim a las entradas administradas de su v-model :

<input v-model.trim="msg">
  • .number

Si desea que la entrada del usuario se escriba automáticamente como un número, puede hacer lo siguiente:

<input v-model.number="age" type="number">
  • .lazy

En general, v-model sincroniza la entrada con los datos después de cada evento de entrada, pero puede agregar el modificador lazy para sincronizar en su lugar después de los eventos de cambio:

<input v-model.lazy="msg" >


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow