Моя панель навигации не реагирует на смену страницы.
Мой app.component.html
<html>
<app-navbar></app-navbar>
<router-outlet></router-outlet>
</html>
Этот тег начинает мой сегмент navbar.component.html
<nav class = "navbar navbar-expand-md justify-content-center" + {{navType}}>
Если это важно, вот идея на странице компонентаnavType: string = "nav-other";
if (this.router.url === '') {
this.navType = "navbar navbar-expand-md justify-content-center nav-splash";
}
Были опробованы следующие:
<nav class = "navbar navbar-expand-md justify-content-center + {{navType}}">
<nav [ngClass] = {{navType}}> // With full class exchanged for editing one word
<nav [ngClass] = "navType"> // With full class exchanged for editing one word
Вам нужно использовать Angular Router для прослушивания изменений маршрута, а затем обновить свой navType
.
ngOnInit() {
this.router.events.subscribe((event) => {
if (event instanceof NavigationEnd) {
if (event.url === '' || event.url === '/') {
this.navType = 'nav-splash';
} else {
this.navType = 'nav-other';
}
}
});
}
<nav class = "..." [ngClass] = "navType"></nav>
Посмотрите этот пример на stackblitz
пожалуйста, поделитесь, как вы обновляете
navType
, когда страница меняется, если возможно, рабочий стекблиц с воспроизведенной проблемой