Ошибка маршрутизации Angular не может найти параметр при перенаправлении на дочерний маршрут с параметром и выходом

Я хочу перенаправить на дочерний маршрут с выходом из родительского маршрута с параметром:

{
    path: "projects/:projectKey",
    component: ProjectComponent,
    canActivate: [AuthGuard],
    children: [
      { path: "artifacts", component: ArtifactsListComponent, outlet: "project-outlet", canActivate: [AuthGuard] },
      { path: "experiments", component: ExperimentsListComponent, outlet: "project-outlet", canActivate: [AuthGuard] },
      {
        path: "experiments/:experimentKey",
        component: ExperimentDetailsComponent,
        outlet: "project-outlet",
        canActivate: [AuthGuard],
      },
      { path: "runs", component: RunsListComponent, outlet: "project-outlet", canActivate: [AuthGuard] },
      {
        path: "",
        redirectTo: "/projects/:projectKey/(project-outlet:experiments)",
        pathMatch: "full",
      },
    ],
  },

При переходе к http://localhost:4200/projects/project-x я получаю следующую ошибку:

Error: Uncaught (in promise): Error: Cannot redirect to '/projects/:projectKey/(project-outlet:experiments)'. Cannot find ':projectKey'.
Error: Cannot redirect to '/projects/:projectKey/(project-outlet:experiments)'. Cannot find ':projectKey'.
    at ApplyRedirects.findPosParam (router.js:2865)

Если я перехожу непосредственно к http://localhost:4200/projects/project-x/(project-outlet:experiments), все работает нормально.

Ссылка на stackblitz: https://stackblitz.com/edit/angular-ivy-jcdaq1?file=src/app/app-routing.module.ts

Кроме того, если я изменю redirectTo с "/projects/:projectKey/(project-outlet:experiments)" на путь без параметра, такого как "/projects/project-x/(project-outlet:experiments)", он, похоже, сработает.

У кого-нибудь есть решение для наличия параметров и выходов в пути перенаправления дочерних компонентов?


person Fuchur Kool    schedule 20.04.2021    source источник
comment
Не могли бы вы смоделировать свою проблему в Stackbliz, чтобы ее было легко отлаживать?   -  person SaiSurya    schedule 20.04.2021
comment
это может вам помочь: stackoverflow.com/questions/45878981/   -  person David B.    schedule 20.04.2021