Directivas de Renderizado Condicional en HTML con Vue.js
Clase 7 de 38 • Curso Básico de Vue.js 2
Contenido del curso
Rendering Declarativo y Manipulación de DOM
- 4

Renderizado Declarativo en JavaScript: Estado y Vista Sincronizados
02:09 min - 5

Uso de Expresiones JavaScript en Plantillas de Vue.js
02:06 min - 6

Directivas para Atributos Dinámicos en HTML con Vue.js
06:44 min - 7

Directivas de Renderizado Condicional en HTML con Vue.js
Viendo ahora - 8

Uso de la Directiva v-for en Vue.js para Renderizar Listas
05:48 min - 9

Manejo de Eventos en Vue.js: Click y Mouseover
07:04 min - 10

Condiciones y Clases Dinámicas en Vue.js
06:46 min - 11

Estilos Dinámicos en JavaScript: Cambios de Color Interactivos
02:49 min - 12

Propiedades Computadas y Watchers en Vue.js
05:42 min - 13

Interacción dinámica con formularios y directivas en Vue.js
03:34 min - 14
"Crear un Tracker de Cursos con Vue.js"
00:45 min
Sistema de Componentes
- 15

Sistema de Componentes en Fren Word: Modularización y Reutilización
02:54 min - 16

Creación de Componentes Personalizados en Vue.js
06:44 min - 17

Comunicación entre Componentes en Vue.js: Props y Data Binding
17:28 min - 18

Comunicación entre Componentes en Vue: Emisión y Manejo de Eventos
06:17 min - 19

Uso de Slots para Inyectar HTML en Componentes Hijos
04:18 min - 20

Ciclo de Vida de Componentes en Vue.js
03:40 min - 21

Componentes de Vue: Creación y Gestión Eficiente
01:23 min - 22
Componente Modal y Componente Principal en Vue.js
00:44 min
Ambiente de Desarrollo
Platzi Exchange
- 27

Instalación y configuración de Tailwind CSS en proyectos HTML
06:40 min - 28

Creación y Gestión de Componentes VUE en Proyectos Web
12:02 min - 29

Creación de Aplicaciones SPA con Vue Router
15:37 min - 30

Uso de Fetch API para Interactuar con Servidores HTTP
15:45 min - 31

Filtros y Directivas para Mejorar Interfaces en JavaScript
09:33 min - 32

Creación de Rutas Dinámicas en Vue.js para Criptomonedas
21:36 min - 33

Navegación Dinámica y Programática en Vue.js
12:23 min - 34

Integración de Componentes de Terceros en Proyectos Vue.js
12:01 min - 35

Manejo de Problemas de Reactividad en Vue.js
17:44 min - 36

Filtros y Ordenamiento en Tablas de Datos con JavaScript
11:25 min - 37

Implementación de Rutas Dinámicas y Conversor de Criptomonedas en Vue.js
13:38 min
¡A producción!
Rendering Declarativo y Manipulacion de DOM
¿Cómo renderizar contenido condicional en HTML con directivas?
Las directivas en frameworks como Vue.js nos facilitan la tarea de manejar la visibilidad de elementos HTML de manera inteligente y condicional. Este enfoque no solo ayuda a mantener limpio nuestro Document Object Model (DOM), sino que también optimiza la eficiencia de las aplicaciones web al mostrar u ocultar elementos en base a condiciones lógicas.
¿Cómo definir y usar la propiedad de variación?
Primero, necesitamos definir una propiedad que indique una condición que evaluaremos para mostrar ciertos elementos. En este caso, se utiliza this.percentageChange para representar un cambio porcentual en el precio de un producto. Esta puede ser:
- Un número entero positivo
- Cero
- Un número entero negativo
Primero, definimos la propiedad en JavaScript como un número positivo. Este es un ejemplo de cómo se puede ver el código:
data() {
return {
percentageChange: 10
}
}
¿Cómo usar la directiva v-if para mostrar elementos condicionalmente?
Ya que tenemos percentageChange definido, nos dirigimos al archivo HTML y creamos un elemento <span>. Utilizamos la directiva v-if para decidir cuándo mostrar este elemento. Por ejemplo:
<h1>
<!-- Mostramos un emoji cuando percentageChange es mayor a cero -->
<span v-if="percentageChange > 0">
👍
</span>
</h1>
Con este fragmento de código, el <span> solo se mostrará si percentageChange es mayor a cero. Esto resulta útil para indicar visualmente incrementos en el porcentaje.
¿Cómo manejar estados negativos o cero con v-else?
Para gestionar condiciones donde percentageChange es negativo o cero, usamos las directivas v-else-if. A continuación tenemos un ejemplo donde mostramos distintos emojis según el valor de percentageChange:
<h1>
<span v-if="percentageChange > 0">
👍
</span>
<span v-else-if="percentageChange < 0">
👎
</span>
<span v-else>
⚖️
</span>
</h1>
¿Cuál es la diferencia entre v-if y v-show?
Las directivas v-if y v-show permiten controlar la visibilidad de elementos, pero funcionan de manera diferente:
-
v-if: Este elimina o agrega el elemento al DOM basado en la condición dada. Solo se renderiza cuando se cumple la condición, lo cual es eficiente para condiciones que no cambian frecuentemente. -
v-show: No elimina el elemento del DOM, sino que simplemente cambia la propiedad CSSdisplaya "none". Es ideal para elementos cuya visibilidad cambia con frecuencia.
Aquí tenemos un ejemplo de cómo usar v-show en lugar de v-if:
<h1>
<span v-show="percentageChange > 0">
👍
</span>
<span v-show="percentageChange < 0">
👎
</span>
<span v-show="percentageChange === 0">
⚖️
</span>
</h1>
¿Cuál deberías usar y cuándo?
La elección entre v-if y v-show depende de la frecuencia de cambio de la condición:
- Usa
v-ifsi los cambios en la visibilidad no ocurren con frecuencia. - Opta por
v-showsi la visibilidad necesita cambiar con frecuencia, para evitar mutaciones extendidas en el DOM.
Utilizar estas directivas eficientemente puede mejorar significativamente el rendimiento de tus aplicaciones, asegurando que se comporten de manera dinámica pero óptima. Recuerda siempre evaluar qué opción es la más adecuada según cada caso específico. Además, anima a tus usuarios a interactuar con un frontend más efectivo y receptivo.