Resumen: mostrar cómo configurar una ruta en el router de Angular para tener parámetros en la URL y leerlos después en otro componente, además de crear un enlace que va a otro componente con parámetros en la URL.
Ya hice un tutorial sobre el Enrutador de Angular. Bien, en nuestras rutas debemos configurar indicar el parámetro o variable de la URL con dos puntos.
Por ejemplo, para enviar un id en la ruta sería ruta/:id
algo así:
const routes: Routes = [
{
path: "mascotas/editar/:id", // <-- Aquí
component: EditarMascotaComponent
},
];
De este modo indicamos que recibiremos un id en la ruta.
Para crear un vínculo que lleva a esa ruta y pasarle un parámetro podemos hacer esto:
<a [routerLink]="['/mascotas/editar', mascota.id]">
Editar
</a>
En este caso indicamos primero la ruta en ["/mascotas/editar"]
y el segundo elemento del arreglo es el valor.
En el ejemplo anterior vimos cómo hacerlo desde la vista, pero desde TypeScript podemos hacer lo mismo. Importamos el Router:
import { Router } from '@angular/router';
Luego lo inyectamos en el constructor de nuestro componente:
constructor(private router: Router) { }
Finalmente podemos navegar a nuestra ruta:
this.router.navigate(['/mascotas', idMascota]);
Para lograrlo invocamos a navigate
del router, le pasamos primero la ruta y después la variable, todo eso dentro del arreglo.
Ahora en el componente que se encarga de responder a la URL con variables de Angular Router debemos importar ActivatedRoute
e inyectarlo en el constructor:
import { ActivatedRoute } from '@angular/router'; // Importar
export class EditarMascotaComponent implements OnInit {
constructor(private route: ActivatedRoute) { } // <-- inyectar
ngOnInit() {
// Leer
let idMascota = this.route.snapshot.paramMap.get("id");
}
}
Para obtener el parámetro de la ruta invocamos a this.route.snapshot.paramMap.get("nombreVariable")
en donde:
this.route
: es ActivatedRoute
inyectado en el constructornombreVariable
: la variable que definimos con dos puntos al configurar el routing de nuestra appSi quieres más tutoriales de Angular puedes verlos aquí.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.