Именованная розетка маршрутизатора и модули с отложенной загрузкой

У меня проблема с указанной розеткой маршрутизатора и модулем ленивой загрузки. У меня есть 2 выхода маршрутизатора, первая без названия, а вторая называется mainapp.

app.component.html

<router-outlet></router-outlet>

app.main.component.html

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

app.routes.ts

export const routes: Routes = [
    {path: 'login',  component: LoginComponent},
    {path: 'app', component: AppMainComponent, children:[
        {path: '', loadChildren: 'app/client/client.module#ClientModule'}
    ]}
];

client.module.ts

@NgModule({
  imports: [
    SharedModule,
    RouterModule.forChild([
      {path: 'client', component: ClientListComponent, outlet: "mainapp" },
      {path: 'client/:id', component: ClientComponent, outlet: "mainapp" }
    ])
  ],
  declarations: [ClientListComponent, ClientComponent],
  exports: [ClientListComponent, ClientComponent]
})
export class ClientModule { }
  1. LoginComponent загружен в розетку роутера
  2. После входа в систему AppMainComponent загружается в розетку роутера.
  3. Теперь я пытаюсь загрузить ClientComponent в указанную розетку маршрутизатора mainapp.

Я получаю ошибку

ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'app'
Error: Cannot match any routes. URL Segment: 'app

Когда я изменил маршруты к этому, он работает:

export const routes: Routes = [
    {path: 'login',  component: LoginComponent},
    {path: 'app', component: AppMainComponent, children:[
        {path: 'client', component: ClientListComponent, outlet: "mainapp" },
        {path: 'client/:id', component: ClientComponent, outlet: "mainapp" }
    ]}
];

person 3x3    schedule 13.11.2017    source источник


Ответы (1)


Кажется, это известная ошибка, за которой вы можете следить по адресу: https://github.com/angular/angular/issues/10981

person snomad    schedule 19.03.2018