角度不同模块阵列的类型是什么?

问题描述 投票:1回答:2

在角度5核心模块中,我也导入外部和内部模块。

所以,我创建了一个类型为any的数组来保存所有模块对象。我在导入和导出中使用了该数组变量。我的问题是any而不是我们有其他类型吗?如果是这样,对于MODULES和COMPONENTS应该采用什么类型?

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 {
}
angular typescript angular5 angular-components angular-module
2个回答
2
投票

来自NgModule doc

  • 提供者类型是Provider[]
  • 声明类型是Array<Type<any> |any[]>
  • 进口类型是Array<Type<any> | ModuleWithProviders |any[]>
  • 出口类型是Array<Type<any> | any[]>
  • EntryComponents类型是Array<Type<any> | any[]>

1
投票

对模块和组件使用类型any[]是有效的。如果你想使用别的东西,你可以参考使用的NgModule界面

  • Array<Type<any> | any[]>;用于组件声明
  • Array<Type<any> | ModuleWithProviders | any[]>;用于模块导入

Type是一个来自角度框架的类(doc

© www.soinside.com 2019 - 2024. All rights reserved.