如何声明 angular Material 模块的数组?
How to declare an Array of angular Material modules?
诸如之类的问题,以及各种博文,推荐一个单独的模块导入你的Material模块并立即导出,然后将该模块导入你的app.module.ts
以防止污染应用程序模块。
在我看来,如果进口始终与出口相同,那么我宁愿只申报一次。所以,我使用
const materialModules = [
MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, MatNativeDateModule, MatDatepickerModule,
MatCheckboxModule, MatSidenavModule, MatToolbarModule,
];
@NgModule({
imports: materialModules,
exports: materialModules,
})
export class MaterialModule{}
这很好用,但我想给 materialModules
一个类型。应该是什么?
嗯,这些模块被传递给导入数组,因为导入采用以下类型:
(any[] | Type<any> | ModuleWithProviders<{}>)
除上述类型外,我们没有其他选择。
所以你可以做到
const materialModules : (any[] | Type<any> | ModuleWithProviders<{}>) = [
MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, MatNativeDateModule, MatDatepickerModule,
MatCheckboxModule, MatSidenavModule, MatToolbarModule,
];
但对我来说并没有增加多少好处。
诸如app.module.ts
以防止污染应用程序模块。
在我看来,如果进口始终与出口相同,那么我宁愿只申报一次。所以,我使用
const materialModules = [
MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, MatNativeDateModule, MatDatepickerModule,
MatCheckboxModule, MatSidenavModule, MatToolbarModule,
];
@NgModule({
imports: materialModules,
exports: materialModules,
})
export class MaterialModule{}
这很好用,但我想给 materialModules
一个类型。应该是什么?
嗯,这些模块被传递给导入数组,因为导入采用以下类型:
(any[] | Type<any> | ModuleWithProviders<{}>)
除上述类型外,我们没有其他选择。
所以你可以做到
const materialModules : (any[] | Type<any> | ModuleWithProviders<{}>) = [
MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, MatNativeDateModule, MatDatepickerModule,
MatCheckboxModule, MatSidenavModule, MatToolbarModule,
];
但对我来说并没有增加多少好处。