在Angular中,可以使用@NgModule装饰器的exports属性来导出一个模块,这样其他模块就可以访问它而不需要重新导入。
下面是一个示例,演示如何创建一个全局模块,并在其他模块中访问它:
global.module.ts:import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { GlobalService } from './global.service';
@NgModule({
imports: [
CommonModule
],
providers: [
GlobalService
],
exports: [
CommonModule,
GlobalService
]
})
export class GlobalModule { }
import { NgModule } from '@angular/core';
import { GlobalModule } from './global.module';
@NgModule({
imports: [
GlobalModule
],
declarations: [
// 声明其他组件和指令
]
})
export class OtherModule { }
现在,OtherModule中的组件和服务就可以直接使用GlobalService,而不需要重新导入。
请注意,GlobalService是在GlobalModule中提供的,所以它只会有一个实例,而不是每个导入GlobalModule的模块都有一个实例。如果你需要每个模块都有自己的服务实例,可以在该模块中提供该服务,而不是在全局模块中提供。
希望以上内容能够帮助到你!