Загруженный модуль - импортирован или экспортирован в основной модуль? - PullRequest
0 голосов
/ 10 февраля 2019

Чтобы сделать мой AppModule более чистым, я импортировал загруженный функциональный модуль в CoreModule, который импортируется (один раз) в AppModule.

Что мне показалось интересным, так это то, что приложение работает путем экспорта или импорта функционального модуля в CoreModule.Кто-нибудь может объяснить разницу?Какой правильный путь?

1 Ответ

0 голосов
/ 10 февраля 2019

Что ж, если есть функция (в основном декларируемая, такая как Компонент, Директива или Труба), которую вы имеете в этом 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...