在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
的模块都有一个实例。如果你需要每个模块都有自己的服务实例,可以在该模块中提供该服务,而不是在全局模块中提供。
希望以上内容能够帮助到你!