¿Cómo obtengo los RouteParams de un componente principal?
App.ts
:
@Component({
...
})
@RouteConfig([
{path: '/', component: HomeComponent, as: 'Home'},
{path: '/:username/...', component: ParentComponent, as: 'Parent'}
])
export class HomeComponent {
...
}
Y luego, en el ParentComponent
, puedo obtener fácilmente mi parámetro de nombre de usuario y configurar las rutas secundarias.
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');
}
...
}
Pero entonces, ¿cómo puedo obtener este mismo parámetro de 'nombre de usuario' en esos componentes secundarios? Hacer el mismo truco anterior, no lo hace. ¿Porque esos parámetros están definidos en ProfileComponent o algo así?
@Component({
...
})
export class ChildOneComponent {
public username: string;
constructor(
public params: RouteParams
) {
this.username = params.get('username');
// returns null
}
...
}
<child-one-component [username]="username"> ...