ngStyle y ngClass en Angular: estilos condicionales
Clase 17 de 80 • Curso de Angular 4
Contenido del curso
Introducción a Angular 4
Setup del Ambiente de Trabajo
Conceptos Básicos
- 9

Para qué nos sirven los Módulos y Componentes
08:10 min - 10

Tipos de Data Binding y String Interpolation
05:05 min - 11

Property Binding
06:04 min - 12

Event Binding
03:04 min - 13

ngModel y two way binding en Angular
05:12 min - 14

Directivas en Angular 4 y ngFor
07:39 min - 15

Cómo usar ngIf en Angular 4.0
03:04 min - 16

Instalando librerías con NPM (Google Maps)
06:48 min
Directivas
Angular UI
Ruteo
- 24

Qué hace el router en Angular 4
03:11 min - 25

Implementación de Rutas en el Proyecto
07:36 min - 26

Href vs router link: navegación angular
02:27 min - 27

Resaltando el link activo con CSS para indicar visualmente en que componente nos encontramos
01:53 min - 28

Parámetros de ruta con routerLink en Angular
06:01 min - 29

Parámetros tipo Query
03:53 min - 30

Creando una vista de detalle para el proyecto
09:06 min - 31

Página de contacto Angular desde cero
07:45 min
Servicios
- 32

Servicios en Angular para compartir datos
00:58 min - 33

Creando nuestro propio servicio
07:11 min - 34

Configurando Firebase en nuestro proyecto
05:12 min - 35

Guardando Records en Firebase
12:20 min - 36

Obteniendo records desde Firebase
08:40 min - 37

Obteniendo coordenadas usando Geocoding
13:45 min - 38

Reto: Crear una vista para editar records
09:29 min - 39

Mostrando marcadores en el Mapa de Google
03:02 min
Conexión Remota (Http y Sockets)
Pipes
Animaciones en Angular
Testing en Angular
Autenticación y Protección de Rutas
- 59

Cómo funcionan los JSON Web Tokens
03:05 min - 60

Preparación de vistas para login y registro
11:58 min - 61

Registrando usuarios
07:29 min - 62

Loggeando usuarios
07:18 min - 63

Guardias canActivate en Angular: Proteger rutas con autenticación
11:09 min - 64

Cómo integrar Facebook login con Firebase
09:08 min - 65

Logout en Angular con Firebase
05:28 min
RxJS
- 66

Cómo funciona RxJS con metáfora de oficina
02:09 min - 67

Mostrar email del usuario logueado en Angular
06:32 min - 68

Uso de los Observables
04:30 min - 69

Cómo implementar type ahead con Observables y RxJS
10:43 min - 70

Implementar formularios reactivos con type ahead
07:58 min - 71

Cómo rellenar campos automáticamente con Google
01:28 min
Publicando nuestro proyecto
Fin del curso
Sesiones en vivo
Contenido Bonus
Aprende a aplicar estilos condicionales en Angular 4 con claridad y confianza. Aquí verás cómo usar las directivas de atributo ngStyle y ngClass para destacar registros activos e intercalar estilos en una lista, apoyándote en ngFor y el index de iteración. Además, se recuerdan bases clave como string interpolation, property binding, event binding y two way data binding, así como el uso de librerías con MPM y Google Maps.
¿Qué aprenderás sobre ngStyle y ngClass en Angular 4?
Estas directivas permiten aplicar estilos y clases de forma dinámica según condiciones del componente. Se parte de una lista duplicada: una con filtros usando ngIf y otra sin filtro para mostrar todos los negocios, incluidos los inactivos. La idea es resaltar inactivos con ngStyle y alternar filas con ngClass.
- ngStyle: directiva de atributo para modificar propiedades de CSS con expresiones.
- ngClass: directiva de atributo para asignar clases completas de CSS.
- ngFor: se obtiene el index para evaluar expresiones.
- Operador ternario: decisión rápida para estilos condicionales.
- Estados activos/inactivos: se usa una propiedad booleana como active.
¿Cómo aplicar estilos condicionales con ngStyle?
La meta es mostrar en gris los elementos inactivos y en negro los activos. Se usa la propiedad booleana active y un operador ternario dentro de un objeto de estilos.
¿Cuál es la sintaxis con corchetes, llaves y operador ternario?
- Corchetes: indican property binding en la directiva de atributo.
- Llaves: definen el objeto con la propiedad de CSS a modificar.
- Operador ternario: elige el valor según la condición.
Ejemplo en la plantilla HTML:
<li
*ngFor="let lugar of lugares"
[ngStyle]="{ color: lugar.active ? 'black' : 'gray' }">
{{ lugar.nombre }}
</li>
Claves prácticas: - color es una propiedad de CSS válida. - Si active es true: texto negro. - Si active es false: texto gris.
¿Cómo alternar clases con ngClass y usar el index de ngFor?
El objetivo es aplicar una clase cada dos elementos (uno sí y uno no) para mejorar la legibilidad. Se define una clase en styles.css y se evalúa una expresión con módulo usando el index de ngFor.
¿Cómo declarar la clase en styles.css?
En el archivo global de estilos se crea una regla con colores de fondo y texto:
.numero-par {
background-color: aliceblue;
color: blue;
}
¿Cómo evaluar la expresión con módulo y obtener el index?
- Obtén el index de la iteración con ngFor.
- Evalúa una condición con módulo para aplicar la clase a elementos alternados.
Ejemplo en la plantilla HTML:
<li
*ngFor="let lugar of lugares; let i = index"
[ngClass]="{ 'numero-par': (i + 1) % 2 !== 0 }">
{{ lugar.nombre }}
</li>
Puntos clave: - let i = index: expone el número de iteración. - (i + 1) % 2 !== 0: alterna la clase entre registros (uno sí y uno no). - ngClass acepta una expresión y asigna la clase cuando la condición es verdadera.
Habilidades y conceptos reforzados: - Uso de directivas de atributo: ngStyle y ngClass. - Diferencia entre reglas puntuales de CSS y clases completas. - Integración con ngFor y su index para lógica de presentación. - Patrón de estilos condicionales con operador ternario. - Contexto previo: string interpolation, property binding, event binding, two way data binding, directivas estructurales y de atributo, instalación de librerías con MPM y uso de Google Maps.
¿Tienes dudas sobre otra directiva o quieres compartir tu implementación con ngSwitch y ngFor? Cuéntalo en los comentarios y seguimos la conversación.