Я использую угловой 2 для определения некоторых маршрутов.Как мне получить доступ к параметрам маршрута, которые сопоставлены с родительским компонентом из дочернего компонента? (угловой 2.0)
У меня есть настройка маршрута, которая выглядит так.
const routes: Routes = [
{ path : ':id', component : ParentComponent,
children : [
{ path : '', redirectTo: 'metadata', pathMatch : 'full' }
{ path : 'metadata', component : MetadataDisplayComponent },
{ path : 'data', component : DataDisplayComponent }
]
}
]
Когда я пытаюсь получить доступ к параметру «id» внутри ParentComponent, все работает так, как ожидалось.
// ParentComponent
ngOnInit(): void {
this.sub = this.route.params.subscribe(params => {
this.path = params['id'];
console.log(this.path); // logs the value of ":id"
});
}
Однако попытки получить доступ к этому же параметру внутри дочернего компонента «DataDisplayComponent» приводит к неопределенному результату.
// DataDisplayComponent
ngOnInit(): void {
this.sub = this.route.params.subscribe(params => {
this.path = params['id'];
console.log(this.path); // logs "undefined"
});
}
Есть ли способ очистить параметр маршрута, сопоставленный с родительским компонентом, при работе внутри дочернего компонента? Я думал об использовании передачи сообщений, чтобы рассказать дочерний компонент, но это похоже на несколько грязное решение. Мысли?