Introducción
Las directivas en Angular son una de las características más poderosas y flexibles del framework. Permiten modificar el comportamiento del DOM de manera declarativa. En este tema, nos enfocaremos en las directivas incorporadas que Angular proporciona de manera predeterminada.
¿Qué son las Directivas Incorporadas?
Las directivas incorporadas son directivas que vienen predefinidas con Angular y están listas para ser utilizadas en nuestras aplicaciones. Estas directivas nos permiten manipular el DOM de diversas maneras, como mostrar u ocultar elementos, aplicar estilos condicionales, y más.
Tipos de Directivas Incorporadas
Las directivas incorporadas se pueden clasificar en tres categorías principales:
- Directivas Estructurales: Cambian la estructura del DOM, añadiendo o eliminando elementos.
- Directivas de Atributo: Cambian el aspecto o comportamiento de un elemento existente.
- Directivas de Clase: Añaden comportamiento a los elementos.
Directivas Estructurales
*ngIf
La directiva *ngIf
se utiliza para añadir o eliminar elementos del DOM basándose en una condición booleana.
Ejemplo:
En este ejemplo, el div
solo se renderiza si la variable isVisible
es true
.
*ngFor
La directiva *ngFor
se utiliza para iterar sobre una colección y renderizar un elemento para cada ítem de la colección.
Ejemplo:
En este ejemplo, se renderiza un li
por cada elemento en la colección items
.
*ngSwitch
La directiva *ngSwitch
se utiliza para mostrar uno de varios elementos basándose en una expresión.
Ejemplo:
<div [ngSwitch]="color"> <div *ngSwitchCase="'red'">Color es rojo</div> <div *ngSwitchCase="'blue'">Color es azul</div> <div *ngSwitchDefault>Color no es ni rojo ni azul</div> </div>
En este ejemplo, se muestra el div
correspondiente al valor de la variable color
.
Directivas de Atributo
ngClass
La directiva ngClass
se utiliza para añadir o eliminar clases CSS de un elemento de manera condicional.
Ejemplo:
En este ejemplo, la clase active
se añade si isActive
es true
, y la clase disabled
se añade si isDisabled
es true
.
ngStyle
La directiva ngStyle
se utiliza para aplicar estilos CSS de manera condicional.
Ejemplo:
En este ejemplo, el color del texto será rojo si isRed
es true
, de lo contrario será azul.
Directivas de Clase
Las directivas de clase son aquellas que añaden comportamiento a los elementos. Aunque Angular no proporciona muchas directivas de clase incorporadas, puedes crear tus propias directivas personalizadas para añadir comportamiento específico.
Ejercicios Prácticos
Ejercicio 1: Uso de *ngIf
Instrucciones:
- Crea un componente que tenga una variable booleana
isVisible
. - Usa la directiva
*ngIf
para mostrar un mensaje solo siisVisible
estrue
. - Añade un botón que cambie el valor de
isVisible
al hacer clic.
Solución:
// app.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-root', template: ` <button (click)="toggleVisibility()">Toggle Visibility</button> <div *ngIf="isVisible">Este texto es visible</div> ` }) export class AppComponent { isVisible = true; toggleVisibility() { this.isVisible = !this.isVisible; } }
Ejercicio 2: Uso de *ngFor
Instrucciones:
- Crea un componente que tenga una lista de elementos.
- Usa la directiva
*ngFor
para renderizar cada elemento de la lista en unli
.
Solución:
// app.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-root', template: ` <ul> <li *ngFor="let item of items">{{ item }}</li> </ul> ` }) export class AppComponent { items = ['Elemento 1', 'Elemento 2', 'Elemento 3']; }
Conclusión
Las directivas incorporadas en Angular son herramientas poderosas que nos permiten manipular el DOM de manera declarativa y eficiente. En esta sección, hemos cubierto las directivas estructurales y de atributo más comunes, y hemos visto cómo se pueden utilizar en ejemplos prácticos. Con esta base, estarás preparado para explorar directivas más avanzadas y personalizadas en Angular.
Curso de Angular
Módulo 1: Introducción a Angular
- ¿Qué es Angular?
- Configuración del Entorno de Desarrollo
- Arquitectura de Angular
- Primera Aplicación Angular
Módulo 2: Componentes de Angular
- Entendiendo los Componentes
- Creación de Componentes
- Plantillas de Componentes
- Estilos de Componentes
- Interacción entre Componentes
Módulo 3: Enlace de Datos y Directivas
- Interpolación y Enlace de Propiedades
- Enlace de Eventos
- Enlace de Datos Bidireccional
- Directivas Incorporadas
- Directivas Personalizadas
Módulo 4: Servicios e Inyección de Dependencias
- Introducción a los Servicios
- Creación y Uso de Servicios
- Inyección de Dependencias
- Inyectores Jerárquicos
Módulo 5: Enrutamiento y Navegación
Módulo 6: Formularios en Angular
- Formularios Basados en Plantillas
- Formularios Reactivos
- Validación de Formularios
- Formularios Dinámicos
Módulo 7: Cliente HTTP y Observables
- Introducción al Cliente HTTP
- Realizando Solicitudes HTTP
- Manejo de Respuestas HTTP
- Uso de Observables
- Manejo de Errores
Módulo 8: Gestión de Estado
- Introducción a la Gestión de Estado
- Uso de Servicios para la Gestión de Estado
- NgRx Store
- NgRx Effects
- NgRx Entity
Módulo 9: Pruebas en Angular
- Pruebas Unitarias
- Pruebas de Componentes
- Pruebas de Servicios
- Pruebas de Extremo a Extremo
- Simulación de Dependencias
Módulo 10: Conceptos Avanzados de Angular
- Angular Universal
- Optimización del Rendimiento
- Internacionalización (i18n)
- Pipes Personalizados
- Animaciones en Angular