Я не понимаю Angular NgModules

GreatHawkeye спросил: 28 апреля 2018 в 09:10 в: angular

Я просмотрел несколько видеороликов, объясняющих NgModules и официальную Angular документацию о NgModules, но я все еще понимаю, как это работает.

Я понимаю, что компоненты входят в declarations , модули в imports и сервисы в providers (Я также слышал, что, поскольку Angular v6, сервисы вообще не нужно объявлять?). Я не понимаю, когда и зачем создавать "sub NgModules", например, auth.module.ts.

  • Почему я должен создавать эти вспомогательные NgModules?
  • Что это преимущество vs, используя только app.modules.ts?
  • Должен ли я импортировать эти вспомогательные NgModules в app.modules.ts?
  • Есть ли какие-то другие вещи, которые мне нужны знать о NgModules?

Спасибо


2 ответа

Есть решение
Aamir Khan ответил: 28 апреля 2018 в 09:47

Почему я должен создавать эти вспомогательные NgModules?

Угловое следует за модульной структурой для улучшения структурирования, удобочитаемости и повторного использования кода. Представление документов:

NgModules объединяет компоненты, директивы и каналы в единые блоки функциональности, каждая из которых ориентирована на область функций, бизнес-домен приложения, рабочий процесс или общий набор утилит.

Дополнительно , подмодули позволяют выполнять ленивую загрузку.

Какая польза от использования только app.modules.ts?

Angular рекомендует модульную структуру по причинам, указанным выше. Кроме того, проверьте руководство по стилю.

Должен ли я импортировать эти вспомогательные NgModules в app.modules.ts?

Это зависит. Если вы используете маршрутизацию, вы можете лениво загрузить эти модули и, как таковой, не должны импортировать их в корневой модуль. Angular будет делать это сам, как только URL, связанный с этим модулем, будет удален. Разумеется, вам нужно будет сконфигурировать это поведение.

Есть ли какие-либо другие вещи, которые мне нужно знать о NgModules?

Существует много полезного документация по ngModules в официальных документах. На самом деле, на большинство, если не на все ваши вопросы, можно ответить, читая их в глубину.

Часто задаваемые вопросы по NgModule: https://angular.io/guide/ngmodule-faq

Arun Raj R ответил: 28 апреля 2018 в 09:52

Прежде всего, я настоятельно рекомендую вам пройти через официальный сайт Angular для лучшего понимания. Я могу объяснить вам одним словом.

1) Почему я должен создавать эти суб NgModules?

Вы можете реализовать Lazy-loading.

2) Что такое польза от использования только app.modules.ts?

Вы можете зарегистрировать каждую вещь, которую вы создаете в Angular, и сгруппировать их вместе.

3) Должен ли я импортировать эти sub NgModules в app.modules.ts?

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

4) Есть ли еще какие-то другие вещи, которые мне нужно знать о NgModules?

Да, обратитесь к этой ссылке или просмотрите официальную документацию на углы.

Aamir Khan ответил: 28 апреля 2018 в 09:43
На самом деле не нужно импортировать вспомогательные модули в app.module, если вы выполняете ленивую загрузку.
Arun Raj R ответил: 28 апреля 2018 в 09:45
@AamirKhan Да, если мы выполняем ленивую загрузку.
Aamir Khan ответил: 28 апреля 2018 в 09:47
Ну, вы упомянули в пункте 3, что у вас есть для импорта подмодулей в корневой модуль. Я просто указываю, что это вводит в заблуждение, поскольку это не всегда так.
Arun Raj R ответил: 28 апреля 2018 в 09:53
@AamirKhan Да, вы правы. Я обновил ответ.