Jak uzyskać RouteParams ze składnika nadrzędnego?
App.ts
:
@Component({
...
})
@RouteConfig([
{path: '/', component: HomeComponent, as: 'Home'},
{path: '/:username/...', component: ParentComponent, as: 'Parent'}
])
export class HomeComponent {
...
}
Następnie ParentComponent
mogę łatwo uzyskać parametr mojej nazwy użytkownika i ustawić trasy podrzędne.
Parent.ts
:
@Component({
...
})
@RouteConfig([
{ path: '/child-1', component: ChildOneComponent, as: 'ChildOne' },
{ path: '/child-2', component: ChildTwoComponent, as: 'ChildTwo' }
])
export class ParentComponent {
public username: string;
constructor(
public params: RouteParams
) {
this.username = params.get('username');
}
...
}
Ale jak mogę uzyskać ten sam parametr „nazwa użytkownika” w tych komponentach podrzędnych? Robienie tego samego triku co powyżej, nie robi tego. Ponieważ te parametry są zdefiniowane w ProfileComponent czy coś?
@Component({
...
})
export class ChildOneComponent {
public username: string;
constructor(
public params: RouteParams
) {
this.username = params.get('username');
// returns null
}
...
}
<child-one-component [username]="username"> ...