Cómo usar ngIf en Angular 4.0
Clase 15 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
Viendo ahora - 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
Controla con seguridad qué se muestra en tu interfaz usando la directiva estructural ngIf en Angular 4.0. Aprende a ocultar elementos inactivos con un booleano, corrige atributos mal escritos y evita el error de combinar dos directivas en el mismo elemento HTML con ng-container.
¿Qué es ngIf y cómo oculta elementos según estado?
La directiva ngIf decide si un elemento se renderiza o no en función de una expresión booleana. Partimos de un arreglo en TypeScript con negocios que ahora incluyen un atributo activo. Si un negocio no está activo, no se muestra en la lista. Por ejemplo, Sushi Sushi Roll se desactiva y deja de verse.
- Usa un atributo booleano: activo: true/false.
- Muestra solo cuando lugar.activo sea verdadero.
- Oculta automáticamente los inactivos.
¿Cómo se ve el arreglo en TypeScript?
// Cada objeto incluía solo nombre; agregamos "activo".
const negocios = [
{ nombre: 'Sushi Sushi Roll', activo: false },
{ nombre: 'Zapatería', activo: true },
// ...otros negocios
];
¿Cómo se usa ngIf en la plantilla?
<!-- Mostrar solo si está activo -->
<li *ngIf="lugar.activo">{{ lugar.nombre }}</li>
Nota: si el IDE no reconoce el atributo, valida que el nombre coincida. Se corrigió de "active" a activo para que la expresión funcione.
¿Cómo evitar el error con dos directivas estructurales?
Angular indica que no se pueden aplicar dos directivas estructurales en el mismo elemento HTML. Si usas ngFor y ngIf juntos en el mismo
<ng-container *ngFor="let lugar of negocios">
<li *ngIf="lugar.activo">{{ lugar.nombre }}</li>
</ng-container>
- Un solo elemento con una directiva estructural.
- ng-container no agrega nodos extra al DOM.
- Se renderizan cinco de seis elementos tras filtrar el inactivo.
- Si pones la zapatería en false, también desaparece.
¿Qué sintaxis y detalles debes cuidar?
Las directivas estructurales en Angular usan asterisco y están en camelCase. Solo necesitas una expresión que evalúe a verdadero o falso para controlar la visibilidad.
- Empieza con asterisco (*): por ejemplo, *ngIf.
- Usa camelCase: ngIf, ngFor.
- Proporciona una expresión booleana: lugar.activo.
- Verifica nombres de atributos: "active" vs activo.
- Evita dos directivas estructurales en el mismo elemento: usa ng-container.
¿Has aplicado otros patrones con ngIf para mejorar la UI? Comparte tus ideas y dudas en los comentarios.