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
*ngIfpara mostrar un mensaje solo siisVisibleestrue. - Añade un botón que cambie el valor de
isVisibleal 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
*ngForpara 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
