Diferencia entre v-show y v-if en el DOM
Clase 13 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
Viendo ahora - 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
Las directivas son claves para controlar el flujo y la presentación en HTML sin complicar el código. Aquí verás cómo usar v-show, v-if, v-else, v-else-if y v-for, cómo se conectan con el ViewModel y qué diferencia real hay en el DOM al renderizar.
¿Qué son las directivas y cómo se relacionan con el ViewModel?
Las directivas son marcadores o atributos que se agregan a elementos HTML para aplicar transformaciones. Funcionan siempre que sus expresiones hagan referencia a valores del ViewModel: propiedades, métodos o valores computados. Si no existen, fallan.
- Se basan en valores existentes en propiedades, métodos o computed del ViewModel.
- No crean datos por sí mismas: dependen del estado ya definido.
- Permiten control de visibilidad, condición y repetición.
Ejemplo de propiedades en el ViewModel:
// propiedades del ViewModel let showValue = true; let value = 'algo';
¿Cuándo usar v-show o v-if para el DOM?
Elegir entre v-show y v-if impacta en cómo se manipula el DOM y el estilo.
¿Qué hace v-show con display none?
v-show muestra u oculta el elemento encendiendo o apagando la propiedad de CSS display, típicamente con display: none. El nodo sigue en el DOM.
<p v-show="showValue">{{ value }}</p>
- Si showValue es true: el elemento se ve.
- Si showValue es false: el elemento permanece en el DOM pero oculto por display: none.
- Útil cuando alternas visibilidad con frecuencia.
Tip de depuración: puedes abrir la console del navegador para ver mensajes y errores de linteo similares a la terminal, sin cambiar de ventana.
¿En qué casos conviene v-if, v-else y v-else-if?
v-if agrega o elimina el elemento del DOM según la condición. A diferencia de v-show, aquí el nodo no existe cuando la condición es falsa.
<p v-if="showValue">{{ value }}</p> <p v-else-if="true">otro mensaje</p> <p v-else>último mensaje</p>
- v-if: renderiza solo si la condición es verdadera.
- v-else-if: encadena condiciones adicionales.
- v-else: caso final cuando ninguna condición anterior se cumple.
- Útil cuando la condición cambia poco o el costo de creación del nodo importa.
Diferencia clave:
- v-show: oculta con CSS; el elemento sigue en el DOM.
- v-if: elimina del DOM cuando es falso.
¿Cómo iterar colecciones con v-for y plantillas?
Para representar colecciones en modo template, v-for recorre un array y renderiza un elemento por ítem.
// colección de ejemplo const items = [1, 2, 3, 4, 5];
<ul> <li v-for="i in items">{{ i }}</li> </ul>
- Un solo <li> en el código genera múltiples elementos renderizados.
- i representa cada elemento de items durante la iteración.
- Facilita listas dinámicas con sintaxis simple.
Palabras y conceptos clave explicados:
- Directiva: atributo que transforma elementos HTML según el estado del ViewModel.
- Expresión: fragmento evaluado dentro de una directiva o interpolación.
- ViewModel: fuente de datos donde viven propiedades, métodos y computed que usan las directivas.
- v-show: controla visibilidad vía display: none sin quitar del DOM.
- v-if / v-else-if / v-else: control condicional que agrega o quita nodos del DOM.
- v-for: iteración sobre colecciones para generar vistas repetidas.
- DOM: estructura del documento manipulada por el navegador.
- console del navegador: útil para ver el mismo output y errores de linteo que ofrece la terminal.
- data binding y manipulación de eventos: temas relacionados que amplían el uso de directivas para conectar datos y manejar interacciones.
¿Tienes dudas o un caso práctico que quieras revisar? Cuéntalo en los comentarios y construyamos juntos mejores ejemplos.