Маршрутизатор RedirectT по умолчанию не запускает событие NavigationEnd - PullRequest
0 голосов
/ 30 августа 2018

Я использую Angular v6.1.0 и. Мой файл маршрутизации здесь:

const routes: Routes = [
  {
    path: '', component: DashboardComponent, children: [
      { path: '', redirectTo: 'activity', pathMatch: 'full' },
      { path: 'activity', component: ActivityComponent },
      { path: 'recent-activity', component: RecentActivityComponent },
      { path: 'notification', component: NotificationComponent }
    ]
  },

];

А вот мой код для подписки на навигационные события:

router.events.subscribe((event: Event) => {
      if (event instanceof NavigationStart) {
        // Do something here
      } else if (event instanceof NavigationEnd) {
        // Do something here
      }
    });

Когда я использую router.navigation, запускается NavigationEnd.
Но если я перейду к маршрутизатору / dashboard и он будет перенаправлен на / dashboard / activity в указанном выше файле маршрутизации, событие не будет запущено.

UPDATE Вот мой пример на StackBlitz
Просто введите домен без какого-либо пути, консоль только логи '/' при перенаправлении на логин (я предпочитаю войти '/ логин')

...