当我们将带有路由的导入模块添加到应用程序中时,如果我们尝试在懒加载时使用这些导入的模块,就会出现问题。因此,我们需要创建子路由组并将其添加到懒加载模块中。
例如,考虑以下示例:
在app-routing.module.ts中:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{ path: 'home', loadChildren: () => import('./home/home.module').then(m => m.HomeModule) },
{ path: 'dashboard', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule) },
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
在dashboard-routing.module.ts中:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { DashboardComponent } from './dashboard.component';
const routes: Routes = [
{
path: '',
component: DashboardComponent,
children: [
{ path: 'overview', loadChildren: () => import('./overview/overview.module').then(m => m.OverviewModule) },
{ path: 'details', loadChildren: () => import('./details/details.module').then(m => m.DetailsModule) },
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class DashboardRoutingModule { }
在dashboard.module.ts中:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DashboardRoutingModule } from './dashboard-routing.module';
import { DashboardComponent } from './dashboard.component';
@NgModule({
declarations: [DashboardComponent],
imports: [
CommonModule,
DashboardRoutingModule
]
})
export class DashboardModule { }
在overview-routing.module.ts中:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { OverviewComponent } from './overview.component';
const routes: Routes = [
{
path: '',
component:
上一篇:Angular懒加载