Я написал DatePickerModule, который конфигурирует мои DatePicker для материала:
@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 не работают должным образом в моих лениво загруженных модулях. Кажется, что мои лениво загруженные модули не могут получить доступ к поставщикам или не знают их, так как средства выбора даты отображаются в конфигурации по умолчанию. Почему это не работает?