Tutoriales de Informática y Dispositivos Móviles
Tutoriales de Informática y Dispositivos Móviles
Enviar parámetros Angular

Enviar parámetros en la ruta con Angular

Enviar parámetros en la ruta con Angular

En el siguiente tutorial aprenderemos cómo enviar parámetros en la ruta con Angular, es decir, enviar parámetros de una página a otra a través de la url

Configuración de la ruta

Normalmente, las rutas de una aplicación Angular se definen en el archivo app.module.ts con la constante routes

Vamos a ver un ejemplo en el cual tenemos una ruta sin parámetros y otra con un parámetro

const routes: Routes  = [
  {path:'login', component:LoginPageComponent},
  {path:'users/:id', component:UsersPageComponent},
]

Si una ruta recibe más de un parámetro lo podemos indicar de la siguiente forma

const routes: Routes  = [
  {path:'login', component:LoginPageComponent},
  {path:'users/:id/:name', component:UsersPageComponent},
]

Enviar parámetros al navegar hacia una ruta

La navegación hacia las rutas se puede hacer tanto en los archivos HTML como en los TypeScript.

Navegación desde el HTML

Vamos a ver un ejemplo de un enlace que al hacer click nos llevará a la ruta /users enviando el parámetro id de usuario

<a [routerLink]="['/users', user.userId]">Enlace a la ruta</a>

Navegación desde el TS

Vamos a ver un ejemplo de cómo accedemos a la ruta /users enviando como parámetro el id del usuario

let userId = 5;
this.router.navigate(['/users/' + userId]);

Recibir los parámetros

Para recibir los parámetros de una ruta en la página de destino lo podremos hacer desde cualquier componente que esté cargado en esa página

Veamos un ejemplo

// Declaramos la variable donde guardaremos el valor del parámetro
public employeeId: any;
// Declaramos el ActivateRoute en el constructor del componente
constructor(private _route: ActivatedRoute
){
  // Cargamos el parámetro en una variable del componente
  this.employeeId = Number(this._route.snapshot.paramMap.get('id'));
}

Más tutoriales de Angular

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Translate »
A %d blogueros les gusta esto: