/ / Impossible de lire les paramètres depuis l'URL de la route - angulaire, routage angulaire

Impossible de lire les paramètres de l'URL de l'itinéraire - routage angulaire et angulaire

J'essayais de créer un composant simple avec mon projet angular-cli, qui charge le paramètre à partir d'une URL

@Component({
templateUrl: "./confirm-registration.component.html",
})
export class ConfirmRegistrationComponent implements OnInit {

constructor(private route: ActivatedRoute,
private router: Router) { }

ngOnInit() {
this.route.params.switchMap((params: Params) => {
return console.log("token:", params["registrationToken"]);
});
}

}

mais j'ai eu une erreur:

Échec de la compilation.

... / confirm-registration.component.ts (15,33): Argument de type "(params: Params) => void" n'est pas assignable au paramètre de type "(valeur: Paramètres, index: nombre) => ObservableInput <{}>". Tapez "vide" n'est pas assignable au type "ObservableInput <{}>".

J'utilise Angular dans la version 4.0.3. Où est-ce que j'ai commis une erreur?

Réponses:

1 pour la réponse № 1

Je récupère le paramètre de requête avec ceci:

export class ConfirmRegistrationComponent implements OnInit {

private registrationToken: string;

constructor(private route: ActivatedRoute) {}

ngOnInit() {
this.route.params.subscribe(
(params) => {
this.registrationToken = params["registrationToken"];
}
)

1 pour la réponse № 2

Comme Dzejdzej a souligné dans son commentaire, vous devez retourner un observable. Cela semble avoir changé au cours des derniers mois (du moins, cela a été compilé la dernière fois que j'ai essayé, il y a quelques mois) et ils n'ont pas encore changé la documentation.

Donc, dans votre cas, vous pourriez simplement renvoyer le même constat:

ngOnInit() {
this.route.params.switchMap((params: Params) => {
console.log("token:", params["registrationToken"]);
return this.route.params;
});
}

0 pour la réponse № 3

Pour obtenir les paramètres de requête, je l’ai fait avec angular-2. Je ne suis pas sûr que cela fonctionne avec angular-4

constructor(private route: ActivatedRoute) {

}

ngOnInit() {
let urParam = this.route.snapshot.queryParams["urParam"];
}

J'espère que cela t'aides