Angular7 использует меню для активации маршрута, но копирование и вставка любого маршрута перенаправляет на домашнюю страницу независимо от того, что - PullRequest
0 голосов
/ 09 января 2019

Я сравнивал другой проект angular6, который у меня есть рядом, и я не могу сказать о каких-либо других отличиях, кроме использования навигации sidenav. Я держу выходной маршрутизатор в app.component внутри контейнера sidenav, но я также взял его оттуда и в начало файла, чтобы убедиться, что это не преступник.

Если я использую обычную навигацию для перехода к определенному компоненту / маршруту даже с параметрами маршрута, все работает отлично.

В тот момент, когда я пытаюсь перейти по ссылке, она перенаправляет на домашнюю страницу, а роутер-розетка даже не загружает «домашний» компонент.

Код моего модуля маршрутизации:

const routes: Routes = [
      {
        path: 'admin-panel/:resource',
        component: AdminPanelComponent,
        canActivate: [AdalGuard, TenantGuard]
      },
      { path: '', component: HomeComponent, canActivate: [AdalGuard] },
      { path: '*', component: NotFoundComponent, canActivate: [AdalGuard] }
    ];

    @NgModule({
      imports: [RouterModule.forRoot(routes)],
      exports: [RouterModule]
    })
    export class AppRoutingModule {}

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Не обязательно решение, но в моем конкретном случае это происходило из-за Guard, который я написал как canActivate, который просто нужно было восстановить с нуля, отладки этой вещи нет.

0 голосов
/ 09 января 2019

Как прокомментировал benshabatnoam, вам нужно иметь pathMatch: 'full' на пути, который '', в противном случае все соответствует ему.

 { path: '', component: HomeComponent, canActivate: [AdalGuard],  pathMatch: 'full' },

Подробнее об угловой документации об этом здесь

...