我编写了一个DatePickerModule来配置我的Material Datepickers:
@NgModule({
imports: [],
declarations: [],
exports: [MatDatepickerModule, MatNativeDateModule]
})
export class DatePickerModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: DatePickerModule,
providers: [
{ provide: MAT_DATE_LOCALE, useValue: 'de' }, // inject locale value...
{ provide: DateAdapter, useClass: CustomDateAdapter, deps: [MAT_DATE_LOCALE] },
{ provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMAT }
]
};
}
static forChild(): ModuleWithProviders {
return {
ngModule: DatePickerModule
};
}
}
在我的核心模块中,我调用DatePickerModule.forRoot()。在所有延迟加载的模块中,我调用DatePickerModule.forChild()。不幸的是,Datepickers在我的延迟加载模块中没有按预期工作。似乎我的懒惰加载模块无法访问提供程序或不知道它们,因为Datepickers出现在默认配置中。为什么这不起作用?