Enviar datos a través de rutas de enrutamiento en Angular


Está allí de todos modos para enviar datos como parámetro con el router.navegar? Quiero decir, algo como este ejemplo , como puedes ver la ruta tiene un parámetro de datos, pero haciendo esto no está funcionando:

this.router.navigate(["heroes"], {some-data: "othrData"})

Porque some-data no es un parámetro válido. ¿Cómo puedo hacer eso? No quiero enviar el parámetro con queryParams.

Author: Jota.Toledo, 2017-07-01

2 answers

Hay mucha confusión sobre este tema, porque hay muchas maneras diferentes de hacerlo.

Estos son los tipos apropiados utilizados en las siguientes capturas de pantalla:

private route: ActivatedRoute
private router: Router

1) Parámetros de Enrutamiento requeridos:

introduzca la descripción de la imagen aquí

2) Parámetros opcionales de la ruta:

introduzca la descripción de la imagen aquí

3) Parámetros de Consulta de Ruta:

introduzca la descripción de la imagen aquí

4) Puede usar un servicio para pasar datos de un componente a otro sin usar route parámetros en absoluto.

Para un ejemplo ver: https://blogs.msmvps.com/deborahk/build-a-simple-angular-service-to-share-data /

Tengo un desatascador de esto aquí: https://plnkr.co/edit/KT4JLmpcwGBM2xdZQeI9?p=preview

 // Code
 181
Author: DeborahK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-11 20:55:16

Puede usar esto. Angular2+/4/5 - navegar con datos https://github.com/Hipparch/Angular2-navigate-with-data

 5
Author: Navasardyan Suren,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-26 16:17:45