Я совершенно не знаком с Angular2, и было очень сложно понять, что происходит с импортом и экспортом @NgModule
в Angular2.
Возьмем следующий код, например:
@NgModule({
imports: [
RouterModule.forChild(heroesRoutes)
],
exports: [
RouterModule
]
})
В разделе импорта что я импортирую? Модуль маршрутизатора или функция forChild() или модуль, возвращаемый функцией forChild()? Кто из них?
Также, когда я экспортирую RouterModule
снова, документация говорит следующее:
Наш последний шаг - реэкспортировать RouterModule. Реэкспортируя RouterModule, наш функциональный модуль будет снабжен маршрутизатором Директивы при использовании нашего модуля маршрутизации.
Значит ли это, что любой модуль, импортирующий вышеупомянутый NgModule, будет иметь доступ ко всему коду в RouterModule?
Это похоже на то, что я пишу пользовательский заголовочный файл в C, который включает в себя math.h, если теперь я использую этот файл заголовка, мне больше не нужно включать math.h в мою программу отдельно. Является ли моя аналогия правильной?
Может кто-нибудь объяснить основные понятия здесь, так что я не становлюсь тупым каждый раз, когда вижу новый код.