Невозможно перейти к маршруту, если у маршрута по умолчанию есть параметр в Angular - PullRequest
0 голосов
/ 13 июня 2019

У меня есть следующие маршруты:

const routes: Routes = [
  {
    path: '',
    component: BlogLayoutComponent,
    children: [
      {
        path: ':pageNumber',
        component: HomeComponent
      },
      {
        path: '',
        component: HomeComponent
      },
      {
        path: 'article/:id',
        component: ArticleComponent
      },
      {
        path: 'articles-by-hashtag/:id',
        component: ArticlesByHashComponent
      },
      {
        path: 'articles-by-category/:id',
        component: ArticlesByCatComponent
      },
      {
        path: 'about-me',
        component: AboutMeComponent
      }
    ]
  }
];

Все маршруты работают нормально, но я не могу перейти на страницу about-me, используя routerLink, например:

<li><a [routerLink]="[ 'about-me' ]">ABOUT ME</a></li>

Если я удаляю параметр по умолчанию :pageNumber, навигация работает, в противном случае ссылка about-me приведет меня к маршруту по умолчанию.

Как я могу заставить работать маршрут about-me? Я бы предпочел не использовать router.navigate(..., если честно.

1 Ответ

1 голос
/ 13 июня 2019

Вы должны изменить свой маршрут следующим образом

<li><a [routerLink]="['/about-me']">ABOUT ME</a></li>

Затем добавьте некоторый маршрут перед параметрами pageNumber.Я не уверен, что ваше определение маршрута для HomeComponent является правильным

{
   path: 'something/:pageNumber',
   component: HomeComponent
},
...