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

时间:2018-09-04 07:47:01

标签: angular typescript angular5 angular-components angular-module

在Angle 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 {
}

2 个答案:

答案 0 :(得分:2)

来自NgModule文档

  • 提供者类型为Provider[]
  • 声明类型为Array<Type<any> |any[]>
  • 导入类型为Array<Type<any> | ModuleWithProviders |any[]>
  • 导出类型为Array<Type<any> | any[]>
  • EntryComponents类型为Array<Type<any> | any[]>

答案 1 :(得分:1)

对模块和组件使用类型any[]是有效的。如果您想使用其他内容,可以参考NgModule界面,该界面使用

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

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