상위 구성 요소에서 RouteParams를 가져 오려면 어떻게해야합니까?
App.ts
:
@Component({
...
})
@RouteConfig([
{path: '/', component: HomeComponent, as: 'Home'},
{path: '/:username/...', component: ParentComponent, as: 'Parent'}
])
export class HomeComponent {
...
}
그런 다음에서 ParentComponent
사용자 이름 매개 변수를 쉽게 얻고 자식 경로를 설정할 수 있습니다.
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');
}
...
}
그렇다면 해당 하위 구성 요소에서 동일한 '사용자 이름'매개 변수를 어떻게 얻을 수 있습니까? 위와 같은 트릭을 수행하면 안됩니다. 그 매개 변수는 ProfileComponent 또는 무언가에 정의되기 때문에 ??
@Component({
...
})
export class ChildOneComponent {
public username: string;
constructor(
public params: RouteParams
) {
this.username = params.get('username');
// returns null
}
...
}
<child-one-component [username]="username"> ...