У меня проблема с указанной розеткой маршрутизатора и модулем ленивой загрузки. У меня есть 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 { }
- LoginComponent загружен в розетку роутера
- После входа в систему AppMainComponent загружается в розетку роутера.
- Теперь я пытаюсь загрузить 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" }
]}
];