Что ж, если есть функция (в основном декларируемая, такая как Компонент, Директива или Труба), которую вы имеете в этом FeatureModule
, и вы хотите использовать ее в своем CoreModule
(который вы импортировали в своем * 1003)*) или AppModule
, вам также придется экспортировать его из CoreModule
.
Если вы экспортируете что-либо из модуля, это будет доступно для использования в модуле, в который вы импортируете этот модуль..
И если вы экспортируете этот модуль из модуля, в который вы его импортировали, вы сможете использовать функции экспортированного модуля в модуле, в который вы импортируете этот модуль.
Давайте возьмем, к примеру, пример с CoreModule
, AppModule
и FeatureModule
.
В FeatureModule
есть объявленный FeatureComponent
.Если вы хотите использовать FeatureComponent
в CoreModule
, вам придется экспортировать FeatureComponent
из FeatureModule
, а затем импортировать FeatureModule
в CoreModule
.
сейчас.если вы хотите использовать FeatureCompoent
в вашем AppModule
.Вы можете просто export
FeatureModule
из CoreModule
.И поскольку вы уже импортировали CoreModule
в AppModule
, у вас будет доступ ко всем экспортированным элементам CoreModule
, и FeatureModule
является одним из них.
Вот что Документы Angular скажем, чтобы помочь вам лучше понять:
Набор компонентов, директив и каналов, объявленных в этом NgModule, которые можно использовать в шаблонелюбой компонент, который является частью NgModule, который импортирует этот NgModule.Экспортируемые объявления являются общедоступным API модуля.
Декларируемое принадлежит одному и только одному модулю NgModule.Модуль может перечислить другой модуль среди своих экспортов, и в этом случае экспортируются все публичные объявления этого модуля.
По умолчанию объявления являются закрытыми.Если этот ModuleA не экспортирует UserComponent, то только UserComponent может использовать только компоненты этого ModuleA.
ModuleA может импортировать ModuleB, а также экспортировать его, делая экспорт из ModuleB доступным для модуля NgModule, который импортирует ModuleA.