在应用的根模块中引入共享模块,并将它设置为惰性加载(lazy loading)。在共享模块中,使用forRoot()方法来导出共享的服务和功能。这样,其他模块就可以通过惰性加载来使用共享模块。
示例代码:
// shared.module.ts
import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { SharedService } from './shared.service';
@NgModule({ imports: [ CommonModule ], providers: [ SharedService ] }) export class SharedModule { static forRoot() { return { ngModule: SharedModule, providers: [ SharedService ] } } }
// app.module.ts
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { SharedModule } from './shared/shared.module';
@NgModule({ imports: [ BrowserModule, SharedModule.forRoot() // 设置共享模块为惰性加载 ] }) export class AppModule { }
// other.module.ts
import { NgModule } from '@angular/core'; import { SharedModule } from './shared/shared.module';
@NgModule({ imports: [ SharedModule // 通过惰性加载来使用共享模块 ] }) export class OtherModule { }