Parámetros de ruta con routerLink en Angular
Clase 28 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
Viendo ahora - 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
Domina la navegación al detalle en Angular con parámetros de ruta. Aquí verás cómo enviar el ID de un elemento desde la vista de lista y capturarlo en el componente de detalle usando routerLink y ActivatedRoute. El flujo es claro y práctico: configura la ruta con parámetro, enlaza cada elemento con su ID y lee el valor para mostrar el detalle.
¿Cómo preparar las rutas con parámetros en Angular?
Para mostrar la información específica de un lugar, cada elemento necesita un identificador numérico. Se agregó un ID incremental en lugares.component.ts. Luego, la ruta de detalle se configuró para recibir ese parámetro en app.module.ts usando una ruta con parámetros de ruta.
- Agrega un ID numérico a cada lugar.
- Define la ruta con el parámetro obligatorio.
- Recarga y prueba desde el navegador.
Ejemplo de rutas en app.module.ts:
import { Routes } from '@angular/router';
import { DetalleComponent } from './detalle/detalle.component';
const routes: Routes = [
{ path: 'detalle/:id', component: DetalleComponent },
// otras rutas...
];
Prueba provisional en app.component.html para validar la navegación con parámetro:
<a routerLink="/detalle/1">Detalle 1</a>
Claves prácticas:
- Los parámetros no son opcionales cuando la ruta los define. Intentar ir a detalle sin :id marca error.
- Si notas que no se reconoce la ruta de detalle, verifica que el parámetro esté presente.
¿Cómo capturar el id con ActivatedRoute en el componente de detalle?
Para leer el parámetro que llega por la URL, se usa ActivatedRoute en detalle.component.ts. Con snapshot.params accedes al valor actual y puedes confirmarlo con console.log.
- Importa ActivatedRoute desde Angular Router.
- Inyecta la dependencia en el constructor.
- Lee el parámetro con snapshot.params y valida el valor.
Código en detalle.component.ts:
import { ActivatedRoute } from '@angular/router';
export class DetalleComponent {
constructor(private route: ActivatedRoute) {
console.log(this.route.snapshot.params['id']);
}
}
Buenas prácticas: - Asegura que el nombre del parámetro coincida con el definido en la ruta: id. - Úsalo para cargar el detalle correspondiente.
¿Cómo enlazar cada lugar con routerLink y evitar rutas relativas?
Cada elemento de la lista debe enviar su ID en el enlace. En lugares.component.html se agregó un link por elemento con routerLink y la interpolación del ID. Inicialmente se construyó como lugares/detalle/1 por estar en una ruta relativa, lo cual causó error. La solución fue usar ruta absoluta anteponiendo una diagonal.
- Usa routerLink con el ID de cada lugar.
- Evita rutas relativas agregando
/al inicio. - Valida que cada enlace navegue al detalle correcto.
Ejemplo en lugares.component.html:
<li *ngFor="let lugar of lugares">
<a routerLink="/detalle/{{ lugar.id }}">Ver detalle</a>
</li>
Ejemplo mínimo de datos en lugares.component.ts con ID incremental:
lugares = [
{ id: 1 },
{ id: 2 },
{ id: 3 },
// ...
];
Qué consolidaste: - Envío de parámetros de ruta desde un componente a otro. - Lectura del ID con ActivatedRoute en el componente de detalle. - Diferencia entre ruta relativa y ruta absoluta en routerLink. - Depuración rápida con console.log para validar parámetros.
¿Te quedó alguna duda sobre rutas con parámetros o quieres ver también parámetros tipo query en Angular? Cuéntame en los comentarios qué caso necesitas resolver.