Ich versuche, grundlegende Routen mit Parametern zu implementieren, indem ich die Heroes-Probe imitiert (https://angular.io/docs/ts/latest/guide/router.html). Mein AppModule erklärt einen Pfad:Angular 2 Routen, die sich nicht wie erwartet verhalten
const appRoutes: Routes = [
{ path: '', component: AllStuffComponent },
{ path: 'stuff/:id', component: SingleStuffComponent },
];
Mein SingleStuffComponent sieht wie folgt aus, nur die Mechanik zu testen:
export class SingleGuiComponent implements OnInit {
constructor(
private route: ActivatedRoute,
private router: Router,
) {}
ngOnInit() {
this.route.params
.switchMap((params: Params) => params['id'])
.subscribe((id: any) => console.info("ID=" + id));
}
}
Ich habe versucht, eine URL im Browser http://localhost:3000/stuff/2345
tun. Aber im Debugger sehe ich:
ID=2
ID=3
ID=4
ID=5
Warum passiert das? Ich erwartete nur das einzelne Konsolenprotokoll von ID=2345
.
Haben Sie die 'switchMap' Funktion versuchen zu entfernen, und bekommen die' params [ 'id'] 'innerhalb der' subscribe' Funktion? Ich vermute, die 'switchMap' teilt die Zeichenfolge in einzelne Zeichen auf –