Angular 21 de Cero a Experto / Routing
Reto: el mapa de rutas de Mi Bolsillo con guard
Vas a diseñar el sistema de navegación completo de "Mi Bolsillo": el mapa de rutas (con parámetros, lazy y protección) y —para entenderlo por dentro— un mini-emparejador de URLs que resuelve qué ruta corresponde a una dirección y aplica un guard. Es el sello "construye tu versión" aplicado al router: cuando funcione, sabrás exactamente qué hace Angular al navegar.
Reto
Rutas protegidas y un emparejador de URLs
Qué debes construir
Dos partes:
- El mapa de rutas de Angular (código exacto):
''(lista),'gasto/:id'(detalle, con parámetro),'estadisticas'(lazy),'admin'(lazy + protegida porauthGuard) y'**'(404). ConprovideRouter(routes, withComponentInputBinding()). - Un mini-emparejador en vivo: dada una URL como
/gasto/8, encuentra la ruta que coincide, extrae los parámetros ({ id: "8" }), y aplica el guard si la ruta lo tiene (dejando pasar o redirigiendo). Es el corazón de lo que hace el router.
Reglas
- El emparejador debe soportar segmentos dinámicos
:paramy extraer sus valores. - El comodín
**coincide con cualquier cosa (404) y va al final. - El guard decide con un estado de sesión: si la ruta es protegida y no hay sesión, redirige.
35:00
Cuando estés listo, arranca el reloj.
Qué sigue
Terminaste el módulo de routing: tu app es navegable, con páginas protegidas, parámetros reactivos y carga perezosa. Ahora las páginas necesitan CAPTURAR datos del usuario: crear un gasto, editarlo, validar la entrada. El próximo módulo son los FORMULARIOS de Angular —template-driven y reactivos, tipados, con validaciones—, la puerta por la que entran los datos a tu aplicación.