typescript - Vad är typen för en array av olika moduler i Angular?
I Angular 5 kärnmodul importerar jag både externa och interna moduler.
Så jag skapade en array av typen any för att hålla alla modulobjekt. Jag använde den arrayvariabeln i imports och exports. Min fråga är om det finns andra typer istället för any? Om så är fallet, för MODULES och COMPONENTS vilken typ bör användas?
const MODULES: any[] = [
BrowserModule,
BrowserAnimationsModule,
HttpClientModule,
RouterModule,
];
const COMPONENTS: any[] = [
HeaderComponent
];
const PROVIDERS: Provider[] = [
NotifyService,
RouterHelpers
];
@NgModule({
imports: [
...MODULES,
],
declarations: [
...COMPONENTS,
],
providers: [
...PROVIDERS
],
exports: [
...MODULES,
...COMPONENTS,
]
})
export class CoreModule {
}
Svar #1
från NgModule-dokument
- Leverantörstyp är
Provider[] - Deklarationstyp är
Array<Type<any> |any[]> - Importtypen är
Array<Type<any> | ModuleWithProviders |any[]> - Exporttypen är
Array<Type<any> | any[]> - EntryComponents-typen är
Array<Type<any> | any[]>
Svar #2
Att använda typen any[] för moduler och komponenter är giltigt. Om du vill använda något annat kan du referera till NgModule-gränssnittet, som använder
Array<Type<any> | any[]>;för komponentdeklarationerArray<Type<any> | ModuleWithProviders | any[]>;för modulimporter
Type är en klass från Angular-ramverket (dokumentation)