Router Flashcards
¿Qué directiva permite establecer la clase de la ruta activa?
Respuesta: routerLinkActive
Ejemplo:
<a>Bob</a>
<a>Bob</a>
¿Qué directiva permite configurar las opciones de la ruta activa?
Respuesta: routerLinkActiveOptions
Ejemplo:
<a>Bob</a>
¿Cómo navegar de forma programática?
Repuesta: router.navigate
Ejemplo:
import { Router } from ‘@angular/router’;
constructor(private router: Router) {}
gotoItems(hero: Hero) {
this.router.navigate([‘/heroes’, { id: heroId }]);
}
¿Cómo navegar de forma programática a una ruta relativa?
Repuesta: router.navigate([‘items’], { relativeTo: this.route });
Ejemplo:
constructor(
private route: ActivatedRoute,
private router: Router ) {}
gotoItems() {
this.router.navigate([‘items’], { relativeTo: this.route });
}
¿Cómo recuperar los parámetros de una ruta de forma estática?
Respuesta: route.snapshot.params
Ejemplo:
constructor(route: ActivatedRoute) {
const id: string = route.snapshot.params.id;
const name: string = route.snapshot.params[‘name’];
}
¿Cómo recuperar los parámetros de una ruta de forma dinámica?
Respuesta: route.params.subscribe
Ejemplo:
ngOnInit() { this.route.params.subscribe(params => { this.name = params['name']; }); }
¿Qué directiva permite añadir query params a la ruta establecida por [routerLink]?
Respuesta: [queryParams]
Ejemplo:
<a>
link to user component
</a>
¿Cómo navegar de forma programática a una ruta estableciendo query params?
Respuesta: router.navigate([‘/products’], { queryParams: { order: ‘popular’ } });
Ejemplo:
goProducts() {
this.router.navigate([‘/products’], { queryParams: { order: ‘popular’ } });
}
¿Es necesario gestionar manualmente la desubscripción de los observables params y queryParams del objeto ActivatedRoute?
No, la desubscripción es gestionada automáticamente por Angular.
¿Cómo recuperar los query params de una ruta de forma estática?
Repuesta: route.snapshot.queryParams
Ejemplo:
constructor(route: ActivatedRoute) {
const name: string = route.snapshot.queryParams[‘name’];
}
¿Cómo recuperar los query params de una ruta de forma dinámica?
Respuesta: route.queryParams.subscribe
Ejemplo:
constructor(private route: ActivatedRoute) {}
ngOnInit() { this.route.queryParams.subscribe(params => { console.log(params.name); }); }
¿Cómo definir “child routes”?
Respuesta: Propiedad children de Route
Ejemplo:
export const routes: Routes = [
{ path: ‘’, redirectTo: ‘product-list’, pathMatch: ‘full’ },
{ path: ‘product-list’, component: ProductList },
{ path: ‘product-details/:id’, component: ProductDetails,
children: [
{ path: ‘’, redirectTo: ‘overview’, pathMatch: ‘full’ },
{ path: ‘overview’, component: Overview },
{ path: ‘specs’, component: Specs }
]
}
];
¿Cómo preservar los query params al cambiar de ruta (sin añadir nuevos parámetros)?
Respuesta: queryParamsHandling: “preserve”
Ejemplo:
this.router.navigate([‘/view2’], { queryParamsHandling: “preserve”
});
¿Cómo preservar los query params al cambiar de ruta (añadiendo nuevos parámetros)?
Respuesta: queryParamsHandling: “merge”
Ejemplo:
this.router.navigate([‘/view2’], { queryParams: { otherKey: 2 }, queryParamsHandling: “merge”
});
¿Cómo redirigir usando una ruta “catch-all”?
Respuesta: { path: “**”, redirectTo: “/not-found” }