Часто используемые модули¶
28.02.2022
В Angular-приложении должен быть хотя бы один модуль, который служит корневым. По мере добавления функций в приложение их можно добавлять в модули. Ниже перечислены часто используемые модули Angular с примерами некоторых содержащихся в них функций:
NgModule | Импорт из | Зачем вы его используете |
---|---|---|
BrowserModule |
@angular/platform-browser |
Для запуска вашего приложения в браузере. |
CommonModule |
@angular/common |
Для использования NgIf и NgFor . |
FormsModule |
@angular/forms |
Для создания форм, управляемых шаблонами (включает NgModel ). |
ReactiveFormsModule |
@angular/forms |
Для создания реактивных форм. |
RouterModule |
@angular/router |
Для использования RouterLink , .forRoot() и .forChild() . |
HttpClientModule |
@angular/common/http |
Для взаимодействия с сервером по протоколу HTTP. |
Импортирование модулей¶
Когда вы используете эти модули Angular, импортируйте их в AppModule
или, в зависимости от ситуации, в ваш функциональный модуль и перечислите их в массиве @NgModule
imports
. Например, в базовом приложении, сгенерированном с помощью Angular CLI, BrowserModule
является первым импортом в верхней части AppModule
, app.module.ts
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Импорты в верхней части массива — это операторы импорта JavaScript, а массив imports
внутри @NgModule
специфичен для Angular. Подробнее о различиях см. в JavaScript Modules vs. NgModules.
BrowserModule
и CommonModule
¶
BrowserModule
импортирует CommonModule
, который предоставляет множество общих директив, таких как ngIf
и ngFor
. Кроме того, BrowserModule
реэкспортирует CommonModule
, делая все его директивы доступными для любого модуля, импортирующего BrowserModule
.
Для приложений, работающих в браузере, импортируйте BrowserModule
в корневой AppModule
, поскольку он предоставляет сервисы, необходимые для запуска и работы браузерного приложения. Провайдеры BrowserModule
предназначены для всего приложения, поэтому он должен находиться только в корневом модуле, а не в функциональных модулях. Функциональным модулям нужны только общие директивы в CommonModule
; им не нужно переустанавливать общеприкладные провайдеры.
Если вы импортируете BrowserModule
в функциональный модуль с ленивой загрузкой, Angular вернет ошибку и предложит использовать вместо него CommonModule
.
Подробнее о NgModules¶
Возможно, вас также заинтересует следующее: