Мой компонент ListingComponent использует компонент MemberCountryFilter. У меня есть этот модуль и все работает.
@NgModule({
imports: [CommonModule, RouterModule, FormsModule, ReactiveFormsModule],
declarations: [ListingComponent, MemberCountryFilter],
exports: [ListingComponent,MemberCountryFilter,],
providers: []
})
export class ListingComponent { }
Я понял, что компонент MemberCountryFilter скоро понадобится другому модулю, поэтому я провел рефакторинг. Я создал этот модуль для компонента MemberCountryFilter и хочу импортировать его в другие модули.
@NgModule({
imports: [],
declarations: [MemberCountryFilter],
exports: [MemberCountryFilter],
providers: []
})
export class FilterModule { }
Я изменил свой оригинальный модуль на это:
@NgModule({
imports: [CommonModule, RouterModule, FormsModule, ReactiveFormsModule, FilterModule],
declarations: [ListingComponent],
exports: [ListingComponent, FilterModule,],
providers: []
})
export class ListingComponent { }
После этого я получаю расплывчатые ошибки разбора шаблона, например:
zone.js: 355 Отклонение необработанного обещания: ошибки синтаксического анализа шаблона: невозможно привязать к «ngForOf», поскольку это не известное свойство «ul». ("]*ngFor="разрешить smc выбранных стран-членов">
Похоже, что ListingComponent не знает, что такое MemberCountryFilter. Очевидно, я чего-то не понимаю в модулях. Я прочитал документацию и думаю, что делаю это правильно.
Экспорт в FilterModule должен сделать доступным MemberCountryFilter. Затем я импортирую его в ListingSharedModule и экспортирую, что должно сделать его доступным для ListingComponent.
Для общего обзора у меня был MemberCountryFilter в качестве объявления (с экспортом), и это сработало. Я переместил его в другой модуль, затем импортировал и экспортировал этот модуль, но он не работает.
Что мне не хватает?