要使用Angular路由器将模块作为延迟加载模块的子模块加载,您可以按照以下步骤进行操作:
RouterModule
和Routes
。import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{ path: 'child', loadChildren: () => import('./child/child.module').then(m => m.ChildModule) }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
在父模块中,使用RouterModule.forRoot()
方法来定义和配置路由。在routes
数组中,您需要定义一个路径(path
)和一个延迟加载子模块的加载函数(loadChildren
)。在这个例子中,我们使用import()
函数来加载子模块。
创建一个子模块,用于定义子模块的组件和其他相关内容。在子模块中,您需要导入RouterModule
和Routes
。
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { ChildComponent } from './child.component';
const routes: Routes = [
{ path: '', component: ChildComponent }
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class ChildRoutingModule { }
在子模块中,使用RouterModule.forChild()
方法来定义和配置子模块的路由。在routes
数组中,您需要定义一个路径(path
)和一个组件(component
)。
创建一个子模块的组件。
import { Component } from '@angular/core';
@Component({
selector: 'app-child',
template: 'Child Component
'
})
export class ChildComponent { }
routerLink
指令来导航到子模块。Go to Child Module
这样,当用户点击链接时,Angular路由器将会延迟加载子模块,并在需要时动态加载子模块的代码和组件。