У меня есть страница с заголовком и телом. Заголовок имеет кнопку HELP, которая должна открыть документацию. Ссылка на документацию параметризуется с помощью help-id, который зависит от того, какая страница отображается в данный момент.угловой 2 - получить информацию от активного компонента
Мне нужно обновить help-id в заголовке в зависимости от того, какой компонент в настоящее время отображается маршрутизатором. Другими словами, каков правильный способ получения этого параметра (который является простой строкой) из текущего активного компонента?
Я видел, что связь выполняется с помощью службы, но, похоже, создание службы для такой простой задачи - это немного перебор.
Я попытался вывести что-то из кода Router и ActivatedRoute, но мне не удалось что-либо сделать. Навигационные события не содержат ссылки на компонент, routerState.root.firstChild
имеет значение null, когда приложение загружено.
EDIT:
здесь, в AppComponent
мне нужен текущий идентификатор справки
export class AppComponent {
private helpId;
}
Мои компоненты, которые отображаются в маршрутизаторах выходе обладают этим свойством, например,
export class HeroComponent {
const helpId = 'hero';
}
export class HeroDetailsComponent {
const helpId = 'hero-details';
}
Есть маршруты, определенные для каждого компонента, например
const heroesRoutes: Routes = [
{ path: 'heroes', component: HeroComponent },
{ path: 'hero/:id', component: HeroDetailsComponent }
];
мне нужна справки идентификатор отображаемой в данный момент компонента (оказанной маршрутизатором) для того, чтобы сохранить ссылку справки в заголовок обновлен. Код help-id не передается в параметрах маршрута.
Добро пожаловать в StackOverflow. Пожалуйста, добавьте код к своему вопросу, который демонстрирует, что вы пытаетесь выполнить, позволяет воспроизводить и диагностировать проблему. –
Что делать, если отображается более одного компонента? Этот вопрос нуждается в большем контексте. Как и когда компоненты отображаются/скрыты/удалены/...? –
Из того, что я вижу, есть только один компонент для каждого маршрута, который отображается в стандартном 'router-outlet', мне нужно значение от этого –