У меня есть модуль, который экспортирует компонент, чтобы предоставить его другим модулям, я хочу использовать этот компонент в модулях, которые являются дочерними элементами другого модуля, я импортирую первый модуль в родительский модуль, чтобы разрешить использование внутри дочерних модулей, но я я не совсем уверен, что это лучший способ сделать это.
Это мой общий модуль в корневой папке с компонентом, который я хочу использовать:
app/shared/shared.module.ts
import {dtComponent} from './dt.component';
@NgModule({
imports: [
CommonModule
],
exports: [
dtComponent
],
declarations: [
dtComponent
]
})
export class DatePModule{ }
У меня есть другой модуль в папке приложения, который импортирует DatePModule следующим образом:
приложение/контакты/contacts.module.ts
import {DatePModule} from '../shared/shared.module.ts';
@NgModule({
imports: [
CommonModule,
DatePModule
]
})
export class CTModule{ }
Мне нужно использовать dtComponent непосредственно в некоторых компонентах CTModule, но также мне нужен этот компонент в другом компоненте, который находится в дочерних модулях CTModule.
Я могу сделать это, снова импортировав DatePModule внутри дочерних модулей CTModule, но я не уверен, что это лучший подход.
app/contacts/other/other.module.ts
import {DatePModule} from '../../shared/shared.module.ts';
@NgModule({
imports: [
CommonModule,
DatePModule
]
})
export class OtherModule{ }
Мой вопрос: зачем мне снова импортировать DatePModule, если он уже импортирован в родительский модуль? Если я удалю этот импорт в OtherModule, компонент dtComponent не будет распознан как часть модуля.