最初的情况如下:在我的项目的node_moduls
文件夹中有一个名为@example
的模块,其中包含我想在应用程序中使用的一些组件。因此,组件数量的变化必须动态地说明模块中包含哪些组件。 example.module.ts
文件如下所示:
import { NgModule } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { FirstModule } from 'EXAMPLE_PATH';
import { SecondModule } from 'EXAMPLE_PATH';
import { ThirdModule } from 'EXAMPLE_PATH';
import { FourthModule } from 'EXAMPLE_PATH';
const MODULES = [
FirstModule,
SecondModule,
ThirdModule,
FourthModule
];
@NgModule({
imports: [NgbModule.forRoot(), ...MODULES],
exports: [NgbModule, ...MODULES],
providers: [ExampleService]
})
export class ExampleModule {
}
MODULES
数组包含所有包含的组件。通常情况下,模块会导入到应用程序中并跟随app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { ExampleModule } from '@example/example-module';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
ExampleModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {
}
是否有可能以某种方式在应用内部确定exampleModule
导出哪些组件,或者应用从该模块导入哪些组件?
因此,在此示例的最后,应用应该知道FirstModule
,SecondModule
,ThirdModule
和FourthModule
已导入并可以使用。