Ich weiß, dass ich einen Parameter an "RouterLink" für Routen wie die folgenden übergeben kann
/user/:id
indem ich schreibe
[routerLink]="['/user', user.id]"
aber was ist mit Routen wie dieser hier?
/user/:id/details
Gibt es eine Möglichkeit, diesen Parameter zu setzen, oder sollte ich ein anderes URL-Schema in Betracht ziehen?
In Ihrem speziellen Beispiel würden Sie folgendes tun: "RouterLink":
[routerLink]="['user', user.id, 'details']"
Um dies in einem Controller zu tun, können Sie Router
injizieren und verwenden:
router.navigate(['user', user.id, 'details']);
Weitere Informationen in den Angular-Dokumenten Link Parameters Array im Abschnitt Routing & Navigation
Vielleicht kommt die Antwort wirklich zu spät, aber wenn Sie eine andere Seite mit param ansteuern wollen, können Sie das,
[routerLink]="['/user', user.id, 'details']"
Außerdem sollte man die Routing-Konfiguration nicht vergessen, wie ,
[path: 'user/:id/details', component:userComponent, pathMatch: 'full']
Erste Konfiguration in der Tabelle:
const routes: Routes = [
{
path: 'class/:id/enrollment/:guid',
component: ClassEnrollmentComponent
}
];
jetzt im Skriptcode eingeben:
this.router.navigate([`class/${classId}/enrollment/${4545455}`]);
Empfang von Parametern in einer anderen Komponente
this.activatedRoute.params.subscribe(params => {
let id = params['id'];
let guid = params['guid'];
console.log(`${id},${guid}`);
});