Explorando las Directivas Estructurales y de Atributos en Angular

Directivas en Angular (I)

Rodrigo Bosarreyes
4 min readJul 5, 2023
Directivas en Angular

En Angular, las directivas son uno de los aspectos más poderosos y versátiles del framework. Permiten extender y personalizar la funcionalidad de los componentes, lo que te brinda un mayor control sobre la apariencia y el comportamiento de tu aplicación. En este artículo, nos centraremos en dos tipos principales de directivas: las directivas estructurales y las directivas de atributos.

Directivas Estructurales

Las directivas estructurales te permiten modificar la estructura del DOM al agregar, eliminar o reemplazar elementos según ciertas condiciones. Estas directivas están precedidas por el símbolo asterisco (*) en la sintaxis del template de Angular.

*ngIf

La directiva *ngIf se utiliza para mostrar u ocultar elementos del DOM basándose en una condición booleana. Por ejemplo:

Renderizado condicional con ngIf

*ngFor

La directiva *ngFor se utiliza para iterar sobre una lista de elementos y renderiza contenido dinámicamente. Por ejemplo:

Iterando sobre un array con ngFor

Protip: ngFor cuenta con una serie de variables que nos pueden ser útiles en situaciones concretas, estas variables son:
- index: number: El índice del elemento actual.
- count: number: Tamaño del array.
- first: boolean: True cuando el elemento actual es el primero (index == 0).
- last: boolean: True cuando el elemento actual es el último (index == count — 1).
- even: boolean: True cuando el elemento actual es par (index % 2 == 0).
- odd: boolean: True cuando el elemento actual es impar (index % 2 != 0).
Para obtener estas variables debemos hacer lo siguiente:
<li *ngFor=”let item of listaElementos; let i = index; let c = count”>
Valor: {{ item }}, Índice: {{ i }} Total: {{ c }}
</li>

*ngSwitch

La directiva *ngSwitch permite realizar una selección condicional y mostrar contenido específico según el valor seleccionado. Por ejemplo:

Ejemplo de uso de la directiva ngSwitch

*ngTemplateOutlet

Nos permite reutilizar plantillas definidas en otro lugar de la aplicación. Con ngTemplateOutlet, podemos renderizar dinámicamente una plantilla en un componente, lo que resulta útil para casos en los que queremos generar contenido basado en ciertas condiciones o datos.

La directiva ngTemplateOutlet toma como valor la referencia a una plantilla que ha sido definida previamente utilizando la etiqueta <ng-template>. Esta plantilla puede contener cualquier contenido HTML o incluso otras directivas estructurales como ngFor, ngIf, etc. Por ejemplo:

Bloque reautilizable con ngTemplateOutlet y ng-template

Directivas de Atributos

En Angular, las directivas de atributos son un tipo de directivas que se aplican a elementos HTML específicos como atributos personalizados. Estas directivas permiten agregar comportamientos o manipular la apariencia de los elementos en los que se aplican. Las principales directivas de atributos en Angular son:

[ngClass]

Permite agregar o eliminar clases CSS dinámicamente a un elemento en función de una expresión. Puedes utilizar esta directiva para cambiar el estilo de un elemento según ciertas condiciones.

En la sintaxis básica de la directiva ngClass le proporcionamos una expresión que evalúa a un objeto o un arreglo de clases CSS. Las clases se aplicarán si la expresión es verdadera. Por ejemplo:

Clases condicionales con ngClass

En lugar de proporcionar un arreglo de clases, también podemos utilizar un objeto en ngClass, donde las claves representan las clases y los valores son las condiciones para aplicarlas.

Protip: también existe una sintáxis alternativa donde indicamos [class.<clase css>]=”<condición>”. Por ejemplo: [class.clase-rojo]=”esRojo”

[ngStyle]

Similar a [ngClass], pero en lugar de agregar o eliminar clases, permite aplicar estilos CSS directamente a un elemento basado en una expresión. Por ejemplo:

Estilos inline codicionales con ngStyle

Evita el exceso de estilos en línea: Si bien ngStyle es una herramienta poderosa, es recomendable utilizarla con moderación y evitar la sobrecarga de estilos en línea. En su lugar, considera utilizar hojas de estilo externas para mantener una mayor organización y reutilización de estilos.

Las directivas en Angular son herramientas poderosas que nos permiten aplicar comportamientos de manera dinámica y flexible en nuestras aplicaciones Angular. En este artículo, hemos explorado su uso básico, ejemplos y consideraciones adicionales. Ahora estás equipado para mejorar tus habilidades de estilización y llevar tus aplicaciones Angular al siguiente nivel.

Recuerda experimentar y practicar con estas directivas existentes, y no dudes en consultar la documentación oficial de Angular para obtener más información y ejemplos.

¡Diviértete estilizando tus aplicaciones Angular con estas directivas!

--

--