Я хочу лениво загрузить модуль в приложение angular 2+. Для этого в файле app-routing.module у меня есть следующий код.
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AbcdComponent } from './abcd/abcd.component';
const routes: Routes = [
{ path: 'portfolio', loadChildren: './lazy.module#LazyModule'},
{ path: 'dashboard', loadChildren: './lazy.module#LazyModule'},
{ path: 'abcd', component:AbcdComponent}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
declarations: [
AbcdComponent
]
})
export class AppRoutingModule { }
Теперь в Lazy Module у меня есть следующий код:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LazyParentComponent } from './lazy-parent/lazy-parent.component';
import { LazyChildComponent } from './lazy-child/lazy-child.component';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{ path: 'load-me', component: DashBoardComponent },
{ path: 'load-you', component: PortfolioComponent }
];
@NgModule({
imports: [
CommonModule,
RouterModule.forChild(routes)
],
declarations: [
LazyParentComponent,
LazyChildComponent,
]
})
export class LazyModule { }
Этого достаточно, чтобы перенаправить https://example.com/portfolio/load-me на DashBoardComponent и https://example.com/portfolio/load-you в PortfolioComponent.
Но проблема в том, что я хочу иметь ленивый модуль и для такого маршрута https://example.com/portfolio Я хочу указать на PortfolioComponent и https://example.com/dashboard на DashBoardComponent. Оба компонента должны быть загружены лениво. Кроме того, оба компонента находятся в одном модуле. Я искал в Интернете, но не смог найти никакого решения. Любая помощь приветствуется.