Parámetros tipo Query
Clase 29 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
Viendo ahora - 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 el manejo de parámetros tipo query en Angular para controlar vistas como view o edit, sin romper la navegación. Aquí verás cómo enviarlos desde routerLink y cómo leerlos correctamente con snapshot en el componente de detalle.
¿Qué cambia con los parámetros tipo query en Angular?
Los parámetros tipo query se agregan a la URL después de un signo de interrogación y se separan con &. A diferencia de los parámetros de ruta, no son requeridos por el router y no causan errores si faltan. Sirven para comunicar acciones o contexto al componente, como view, edit o un referrer.
- No son obligatorios para el router.
- No detienen la navegación si faltan.
- Permiten pasar varias claves en un objeto.
- Útiles para estados: view, edit, referrer.
¿Cómo enviarlos con routerLink y queryParams?
En lugares.component.html, se añade la directiva [queryParams] junto con routerLink y se pasa un objeto con los valores deseados. Al navegar, la URL mostrará los valores de forma inmediata, y puedes agregar o cambiar entradas sin errores.
<!-- lugares.component.html -->
<a [routerLink]="['/lugares', lugar.id]"
[queryParams]="{ action: 'view', referrer: 'Google' }">
Abrir detalle
</a>
``
- El objeto define claves como `action` y `referrer`.
- La URL refleja cambios al instante.
- Puedes agregar más parámetros sin modificar rutas.
### ¿Qué estructura lleva el objeto de query params?
Se trata de un **objeto literal** con pares clave-valor que Angular serializa en la URL.
- Claves descriptivas: `action`, `referrer`.
- Valores simples: cadenas como *view*, *edit*, *Google*.
- Se pueden combinar múltiples claves.
## ¿Cómo leerlos en el componente de detalle con snapshot?
En `detalle.component.ts`, al imprimir `this.route.queryParams` verás el objeto con los valores. Sin embargo, al intentar acceder directamente a una clave puede aparecer `undefined`. La forma correcta de obtener un valor específico en ese momento es usar **`this.route.snapshot.queryParams`** con notación de corchetes.
```ts
// detalle.component.ts
ngOnInit(): void {
console.log(this.route.queryParams); // Muestra el objeto de la query.
console.log(this.route.snapshot.queryParams['action']); // 'edit' o 'view'.
console.log(this.route.snapshot.queryParams['referrer']); // 'Google'.
}
- Imprimir
queryParamsayuda a ver el objeto completo. - Para leer una clave puntual usa
snapshot.queryParams['clave']. - Si accedes sin
snapshot, puedes obtenerundefineden el acceso directo.
¿Para qué usar acciones como action y referrer?
Estos parámetros activan comportamientos en la vista de detalle: por ejemplo, mostrar datos en modo view o habilitar inputs para edit, además de registrar el origen con referrer.
action: controla si solo se ve o se edita.referrer: identifica el origen, como Google.- Ayudan a condicionar la interfaz sin rutas adicionales.
¿Tienes dudas o quieres compartir cómo usas query params en tus vistas? Escribe tu pregunta o ejemplo en los comentarios y seguimos la conversación.