Buscamos en distintos sitios para así darte la respuesta a tu inquietud, si tienes alguna duda deja la inquietud y te contestamos con mucho gusto, porque estamos para ayudarte.
Solución:
Primero, establezca el ActivatedRoute
en tus constructor
constructor(private route: ActivatedRoute)
public user:your_type;
En segundo lugar, coloque este código en la devolución de llamada del constructor:
this.route.params.subscribe(params => this.user = params['user']; );
Este método funcionará si usa el siguiente código para redirigir:
this.router.navigate(['./yourlocation', user: this.user ]);
modificado
La estructura de URL angular es a/:paras1/:paras2
o a?a=3;
sin uso &
.
Si utiliza &
para separar sus parámetros, se recomienda usar nativeJS para obtener.
constructor()
this.user = this.getUrlParameter('user');
public user;
private getUrlParameter(sParam)
return decodeURIComponent(window.location.search.substring(1)).split('&')
.map((v) => return v.split("=") )
.filter((v) => return (v[0] === sParam) ? true : false )
.reduce((prev, curv, index, array) => return curv[1]; , undefined);
;
Si desea utilizar parámetros de consulta y no definirlos en la ruta, puede hacer referencia a ActivatedRoute en su constructor y suscribirse a queryParams.
constructor(private route: ActivatedRoute)
this.route
.queryParams
.subscribe(params =>
// here you can access params['user'], params['token'], etc.
);
Mediante el uso de la instantánea ActivatedRoute como se muestra a continuación.
this.userName = this.activatedRoute.snapshot.params['user'];
this.userToken = this.activatedRoute.snapshot.params['token'];
this.userPicture = this.activatedRoute.snapshot.params['picture'];