NgModule vs Component

Итак, теперь я изучаю angular2 и читаю ngbook2 о модулях. Модули содержат компоненты, но также могут импортировать различные модули с их общедоступными компонентами.

И возникает вопрос: какова область действия компонента модуля (в этом смысле область действия как часть приложения, а не доступность переменных внутри). Является ли модуль всем приложением или просто частью, подобной заголовку, содержащей его компоненты?

Что такое типично используемое соглашение?

Ответ 1

Общим способом является просмотр модуля как отдельной функции, которая может состоять из нуля или более сервисов, компонентов, директив и каналов и модулей импорта, которые используются для реализации этой функции.

Модуль может определить, какой из его содержимого, который он экспортирует, будет доступен для импортеров.

Приложение может состоять из одного или нескольких модулей с корневым модулем, импортирующим ноль или более модулей, где каждый импортированный модуль может импортировать нулевые или более модули.

Модули также могут использоваться для - Разделить приложение на части, которые могут быть ленивы загружены - повторно использовать в разных приложениях - создать область именования для селекторов.

Ответ 2

В одном целом приложении может быть один основной модуль. Но ваше приложение можно разделить на несколько модулей и может быть введено в главный модуль. Скажем, у вас есть большая библиотека приложений, которая содержит фильмы, трейлер, песни и т.д. Вы указали главное приложение Имя модуля "MyApp". но далее вы разделили свое приложение на несколько компонентов.

  • MovieComponent
  • SongComponent (далее разделён на AudioComponent и VideoComponent)
  • TrailerComponent

Все эти компоненты разработаны и протестированы индивидуально и интегрированы в MyAppModule.

Если что-то случится в нашей части трейлера, мы можем отбросить/протестировать наш TrailerComponent.

Таким образом, легко поддерживать большие приложения.

Надеюсь, это поможет вам понять. любые предложения, наиболее приветствуемые