Page 16 - 6182
P. 16
Як видно із рисунку, додаток може складатися з довільної
кількості модулів, які в свою чергу містять компоненти, сервіси,
фільтри і т. п. Компоненти можуть використовувати сервіси для
вирішення задач, використовуючи принцип інверсії залежності
(Dependency Inversion (DI)).
Модулі
Як вже зазначалось вище додатки на платформі Angular є
модульними і сама платформа має свою модульну систему, яка
називається NgModules.
Будь-який додаток на платформі Angular як мінімум
складається з одного модульного класу – кореневого модуля, який
згідно конвенції має назву AppModule.
Будь-який модуль на Angular, чи то кореневий модуль, чи
модуль якогось функціоналу – це клас, який оголошений з
використанням декоратора @NgModule.
Модулі потрібні для наступного:
дозволяють організувати додаток у вигляді блоків різного
функціонального призначення, які зв‘язані між собою;
містить метадані, які дозволяють однозначно
ідентифікувати компоненти, сервіси, директиви, фільтри цим
самим вирішити проблему конфлікту імен;
існує можливість закривати і надавати доступ до
конкретних елементів модуля, тим самим інші компоненти можуть
використовувати функціонал з того чи іншого модуля.
Для створення нового модуля можна скористатись Angular
CLI:
$ng g module <new_module>
Після виконання вище наведеної команди буде створено
заготовку з деклараціє нового модуля, яка може виглядати
наступним чином:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule
],
16