Angular
Tutorial Angular: La directiva @if en Angular
La directiva @if
amplía las capacidades del framework para gestionar la renderización condicional, ofreciendo una mayor flexibilidad y control en la creación de interfaces de usuario dinámicas.
Conceptos clave de las directivas @if
Introducción a las directivas @if
Las directivas
@if
son una forma avanzada de manejar la renderización condicional de componentes o elementos HTML en las plantillas de Angular.Ofrecen una sintaxis más intuitiva y funcionalidades ampliadas en comparación con
*ngIf
.
Funcionalidad ampliada
@if
permite incluir condiciones más complejas y facilita una renderización más dinámica y reactiva.Soporta bloques
@else
y@else if
para manejar múltiples condiciones de forma elegante.
Ejemplos de código
Sintaxis básica
- La sintaxis de las directivas
@if
se asemeja a la de una declaración condicional típica en la mayoría de los lenguajes de programación, mejorando la legibilidad y mantenibilidad del código.
@if (condicion) {
Contenido
}
- En este ejemplo
condicion
es una expresión que evalúa a verdadero o falso.
Ejemplo de uso básico:
@if (isLoggedIn) {
¡Bienvenido, usuario!
}
Funcionalidad ampliada y ejemplos avanzados
- Bloques else y else if: La directiva
@if
soporta bloqueselse
yelse if
para condiciones múltiples, facilitando estructuras condicionales complejas.
@if (a > b) {
<p>{{a}} es mayor que {{b}}</p>
} @else if (b > a) {
<p>{{a}} es menor que {{b}}</p>
} @else {
<p>{{a}} es igual a {{b}}</p>
}
- Referencia de resultados de expresiones: La directiva
@if
permite asignar resultados de expresiones a variables locales, simplificando el acceso a estos datos dentro de la plantilla.
@if (users$ | async; as users) {
Número de usuarios: {{ users.length }}
}
- Anidación de directivas @if y estilos dinámicos: Se admite la anidación de condiciones y la aplicación de estilos dinámicos, permitiendo construir lógicas condicionales complejas y adaptar la presentación de elementos de la interfaz de usuario según las condiciones evaluadas.
@if (product) {
<div>
<h2>{{ product.title }}</h2>
<p>Precio: {{ product.price | currency }}</p>
@if (product.price < 50) {
<span class="badge bg-success">Accesible</span>
} @else if (product.price < 100) {
<span class="badge bg-info">Precio normal</span>
} @else {
<span class="badge bg-danger">Premium</span>
}
</div>
} @else {
<p>Producto no disponible.</p>
}
Uso con observables y promesas
La directiva @if
se integra perfectamente con observables y promesas, permitiendo un manejo más fluido de datos asíncronos.
@if (user$ | async; as user) {
<h2>Bienvenido, {{ user.name }}!</h2>
@if (user.isAdmin) {
<admin-panel></admin-panel>
} @else {
<user-dashboard></user-dashboard>
}
} @else {
<p>Cargando perfil de usuario...</p>
}
Optimización del rendimiento
La directiva @if
está diseñada para ser eficiente en términos de rendimiento, minimizando la necesidad de manipulación del DOM.
@if (isFeatureEnabled('newUI')) {
<new-component></new-component>
} @else {
<legacy-component></legacy-component>
}
Ejercicios de esta lección La directiva @if en Angular
Evalúa tus conocimientos de esta lección La directiva @if en Angular con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Signals en Angular
Guards funcionales
Decodificar JWT en Angular
Servicio con HttpClient
Ciclo de vida de componentes en Angular
Gestión de productos de Fake Store API
Data binding en Angular
Routes sin módulos en Angular
Router en Angular
Instalación de Angular
Route Guards basados en interfaces
La directiva @if en Angular
Formularios reactivos en Angular
Servicios en Angular
Interceptor funcional
Servicio con Array
La directiva @for en Angular
Interceptores HTTP
Componentes standalone true
Formularios con ngModel en Angular
Routes en Angular
Comunicación entre componentes Angular
Parámetros en rutas con ActivatedRoute
CRUD de Restaurantes y Platos
Tablas en Angular Material
Formulario de registro de usuarios
Instalación y uso de NgBoostrap
Desarrollo de componentes Angular
JWT en Angular
Formularios reactivos en Angular
Formularios en Angular Material
Layout con Angular Material
Effects en Angular
Data binding
HttpClient en servicios de Angular
Desarrollo de módulos Angular
Comandos Angular CLI
Subir archivo en formularios
La directiva routerLink en Angular
Todas las lecciones de Angular
Accede a todas las lecciones de Angular y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Instalación Angular
Introducción Y Entorno
Comandos Angular Cli
Introducción Y Entorno
Desarrollo De Componentes Angular
Componentes
Data Binding En Angular
Componentes
Ciclo De Vida De Componentes En Angular
Componentes
Comunicación Entre Componentes Angular
Componentes
La Directiva @If En Angular
Componentes
La Directiva @For En Angular
Componentes
Componentes Standalone
Componentes
Desarrollo De Módulos Angular
Módulos
Routes En Angular
Enrutado Y Navegación
Router En Angular
Enrutado Y Navegación
La Directiva Routerlink En Angular
Enrutado Y Navegación
Parámetros En Rutas Con Activatedroute
Enrutado Y Navegación
Routes Sin Módulos En Angular
Enrutado Y Navegación
Servicios En Angular
Servicios E Inyección De Dependencias
Httpclient En Servicios De Angular
Servicios E Inyección De Dependencias
Formularios Con Ngmodel En Angular
Formularios
Formularios Reactivos En Angular
Formularios
Subir Archivo En Formularios
Formularios
Layout Con Angular Material
Integración Con Angular Material
Tablas En Angular Material
Integración Con Angular Material
Formularios En Angular Material
Integración Con Angular Material
Instalación Y Uso De Ngboostrap
Integración Con Bootstrap Css
Signals En Angular
Signals Y Reactividad
Effects En Angular
Signals Y Reactividad
Route Guards Basados En Interfaces
Autenticación Y Autorización
Guards Funcionales
Autenticación Y Autorización
Interceptores Http Basados En Interfaz
Autenticación Y Autorización
Interceptores Http Funcionales
Autenticación Y Autorización
Seguridad Jwt En Angular
Autenticación Y Autorización
Decodificar Tokens Jwt En Angular
Autenticación Y Autorización
Certificados de superación de Angular
Supera todos los ejercicios de programación del curso de Angular y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender la sintaxis y el funcionamiento básico de @if.
- Diferenciar @if de herramientas condicionales en versiones anteriores.
- Aplicar @if en casos de uso reales y prácticos.
- Implementar buenas prácticas y optimización del rendimiento con @if.
- Desarrollar habilidades para crear interfaces de usuario reactivas y adaptativas usando @if.