Ioni c 4 Side Menu устанавливает активную ссылку при начальной первой навигации - PullRequest
0 голосов
/ 12 февраля 2020

В моем приложении есть боковое меню, которое отлично работает для отображения активной ссылки. Моя единственная проблема заключается в том, что при первом запуске приложения активная ссылка не выделяется. Я подписался на событие RouterConfigLoadEnd, чтобы установить выбранную ссылку, но я не думаю, что это правильный путь, потому что, если я перейду к другой ссылке, она продолжит устанавливать ее. Есть предложения?

constructor(private router: Router) {
  const initialPage = this.router.events.subscribe((event: RouteConfigLoadEnd) => {
    console.log('inital load');
    this.selectedPath = '/menu/forecast';
  });
  // Tried to unsub here but then the active link will not be active at start
  // initalPage.unsubscribe();
  this.router.events.subscribe((event: RouterEvent) => {
    if (event && event.url) {
      console.log('set active');
      this.selectedPath = event.url;
    }
  });
}

1 Ответ

0 голосов
/ 12 февраля 2020

Вы можете подписаться на NavigationEnd Событие маршрутизатора, которое запускается каждый раз, когда навигация по странице заканчивается успешно. Официальный DO c

this.router.events.subscribe((events:NavigationEnd)=>
          {
            this.selectedPath = events.url;
          })
...