Angular 8 Не удается сопоставить никакие маршруты на вторичном (именованном) выходе лениво загруженного модуля - PullRequest
1 голос
/ 18 февраля 2020

Angular 8 Не удается сопоставить никакие маршруты на вторичном (именованном) выходе лениво загруженного модуля

Привет всем,

Да, этот вопрос считается повторяющимся вопросом. Я прочитал обсуждение здесь Angular 5 Не удается сопоставить никакие маршруты на именованном выходе лениво загруженного модуля

, и я следовал этому примеру https://stackblitz.com/edit/angular-material-dialog-issue-resolved?file=app%2Fdemo%2Fbuyer-pin%2Fbuyer-pin.component.ts, чтобы сделать маршрутизацию в матовом диалоге.

Howerver, В моем случае, именованный маршрут не может быть сопоставлен с ошибкой ниже: enter image description here

Что я делаю:

в app.routing: это навигация (new-equote)

const routes: Routes = [
{
    path: '',
    loadChildren: () => import('./views/dashboard/dashboard.module').then(m => m.DashboardModule)
},
{
    path: 'new-equote',
    loadChildren: () => import('./views/new-equote/new-equote.module').then(m => m.NewEquoteModule)
}
];

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

В new-equote.routing я направляюсь к другому дочернему модулю (product-trip):

      const routes: Routes = [
    {
      path: '',
      component: NewEquoteComponent,
      children: [
        {
          path: 'product-selection',
          component: ProductSelectionComponent,
        },
        {
          path: 'product-journey',
          loadChildren: () => import('./product-selection/product-journey/product-journey.module').then(m => m.ProductJourneyModule)

        }
      ]
    }
  ];

  @NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
  })

Наконец, в модуле маршрутизации продукта-продукта я перенаправляю на пустой компонент, который открывает диалоговое окно в соответствии с примером, которому я следую (ссылка приведена выше):

      const routes: Routes = [
    {
      path: '',
      redirectTo: '/new-equote/product-journey/dialog(step:product)',
      pathMatch: 'full'
    },
    {
      path: 'dialog',
      component: ModalContainerComponent
    },
    { path: 'product', outlet: 'step', component: ProductDetailsComponent },
    { path: 'coverage', outlet: 'step', component: CoverageDetailsComponent },
  ];

Вот как я я передаю имя в router-outlet:

 <router-outlet name="step"></router-outlet>

вот пустой компонент (контейнер диалога) для вызова диалогового окна open fucntion:

        constructor(
      private router: Router,
      private route: ActivatedRoute,
      private dialog: MatDialog,
      public store: Store, ) {
        this.openDialog();
    }
    openDialog() {
      const dialogRef = this.dialog.open(ProductJourneyComponent);
    } 

Как только я хочу перейти к / new-equote / product-trip / dialog (шаг: продукт),

появляется ошибка: Ошибка: невозможно сопоставить ни один маршрут. Сегмент URL: 'product'

Я потратил пару часов, чтобы это исправить, но не повезло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...