Vue modifiers: cómo simplificar eventos
Clase 34 de 53 • Curso Profesional de Vue.js 2
Contenido del curso
CLI y Dev Tools
- 3

Instalación de Vue.js: Node, Dev Tools y CLI
06:13 min - 4

Crear una aplicación Vue con CLI y webpack
12:49 min - 5

Cómo funciona webpack.config.js
10:38 min - 6

Babel: transpilador de JavaScript moderno
05:06 min - 7

ESLint con Standard JS: linteo automático en webpack
15:34 min - 8

Configuración de Sass y Bulma en Vue
06:18 min - 9

Cómo configurar Pug en Vue con webpack
04:23 min - 10
Diseño de Mockups: Práctica y Colaboración en Comunidad
00:20 min - 11
Creación de Vistas con Mockups y Vue.js
00:32 min
Manipulación del DOM
- 12

Expresiones en Vue: sintaxis doble llave
03:49 min - 13

Diferencia entre v-show y v-if en el DOM
06:22 min - 14

Qué es data binding en Vue.js
04:11 min - 15

Computed properties en Vue.js: cómo crearlas
04:13 min - 16

Qué son los watchers de Vue
02:25 min - 17

Eventos Vue: directiva v-on y métodos format
06:12 min - 18

Cómo construir una interfaz de búsqueda completa en Vue
19:03 min - 19
Manipulación del DOM con Vue.js: Práctica y Ejercicios
03:00 min
REST y HTTP
Sistema de Componentes
- 23

Cómo crear componentes en Vue
08:46 min - 24

Componentes Layout en Vue con Bulma
09:50 min - 25

Reactividad en Vue: $set y Object.assign
06:14 min - 26

Hooks del ciclo de vida en Vue.js
05:38 min - 27

Comunicación padre-hijo con props en Vue
23:27 min - 28

Eventos en Vue: comunicar hijo a padre
12:04 min - 29

Slots: HTML dinámico en componentes Vue
13:42 min - 30

Plugin Event Bus: comunicar componentes sin relación en Vue
19:19 min
Vue Router
Extendiendo VueJS
Clases, Animaciones y Transiciones36
Vuex
- 39

Cómo Vuex centraliza estados en Vue
03:41 min - 40

Instalación de Vuex con estado único
17:32 min - 41

Cómo usar mutations y commit en Vuex
08:16 min - 42

Getters de Vuex: mapGetters y store sincronizado
07:35 min - 43

Cómo dispatch ejecuta actions asincrónicas en ViewX
07:54 min - 44

Instalación de Viewex en Platzi Music
26:37 min
Nuxt.js
Deploy a Producción con Now
Conclusiones
Bonus
Extiende la funcionalidad nativa de Vue con modifiers para eventos y logra interacciones más fluidas. Verás cómo activar la búsqueda al presionar Enter en lugar de depender del botón, reduciendo código y errores, y aprovechando la directiva v-on (también con @). Ya se venía trabajando con un plugin para un event bus; ahora el foco está en eventos y su sintaxis clara con modifiers.
Qué son los modifiers en Vue
Los modifiers son atributos que se agregan a directivas para modificar su comportamiento. Se usan mucho con eventos y también pueden aplicarse en otras directivas y en filtros. La idea: expresar una intención (por ejemplo, “solo cuando se presiona Enter”) sin escribir lógica imperativa para inspeccionar el evento o comparar teclas.
¿Cómo extienden las directivas sin código extra?
- Se escriben con notación de punto: ejemplo: @keyup.enter.
- Operan sobre eventos como keyup, click y submit.
- Evitan leer el objeto de evento y su keyCode manualmente.
- Hacen el código más declarativo y fácil de mantener.
Mejora la búsqueda con @keyup.enter
En el archivo search.vue, se agrega un evento al input de la barra de navegación para que la búsqueda se dispare al presionar Enter. Con v-on (o @) se maneja cualquier tipo de evento con una sola directiva y una sintaxis uniforme.
¿Cómo escuchar solo Enter en el input?
<!-- search.vue -->
<input
type="text"
v-model="searchQuery"
@keyup.enter="search"
/>
- Alternativa equivalente:
v-on:keyup.enter="search". - Importante: no bindear la propiedad
searchQuerycomo si fuera método. Invocar el método search. - El evento corre cuando se suelta Enter y el input tiene foco.
¿Por qué evita código imperativo?
- No hace falta inspeccionar el evento ni su tecla presionada.
- Se elimina lógica condicional repetitiva.
- La intención queda explícita: “ejecuta search al presionar Enter”.
Otros modifiers mencionados para eventos
Además de Enter, se menciona el uso de escape, y modifiers útiles en click y submit para realizar prevent default del comportamiento nativo. También se pueden usar en otras directivas y filtros, manteniendo la coherencia de la sintaxis.
¿Cuándo usar escape, click o submit?
- escape: capturar la tecla Escape cuando se necesita esa interacción.
- click y submit: hacer prevent default para evitar navegación o recarga.
Ejemplos de patrón:
<!-- Evitar el comportamiento nativo -->
<button @click.prevent>Buscar</button>
<form @submit.prevent>
<!-- campos -->
</form>
¿Tienes más casos donde los modifiers simplifican tus eventos? Comparte tus ejemplos y dudas en los comentarios.