Устройство компонента¶
30.09.2026
Этот материал предполагает, что вы уже прочитали руководство по основам. Если Angular для вас в новинку, начните с него.
У каждого компонента есть:
- Класс TypeScript с поведением: обработка ввода пользователя, запросы данных с сервера.
- HTML-шаблон, который определяет, что попадёт в DOM.
- CSS-селектор, который задаёт, как компонент используется в HTML.
Сведения, специфичные для Angular, задаются декоратором @Component над классом TypeScript:
1 2 3 4 5 | |
Как писать шаблоны Angular, включая привязку данных, обработку событий и управление потоком, описано в руководстве по шаблонам.
Объект, который передаётся в декоратор @Component, называется метаданными компонента. Сюда входят selector, template и другие свойства, которые разбираются дальше в этом руководстве.
Компонент может дополнительно задать список CSS-стилей, которые применяются к его DOM:
1 2 3 4 5 6 7 8 9 10 | |
По умолчанию стили компонента затрагивают только элементы из его шаблона. Подробнее о подходе Angular к стилям см. в Стили компонентов.
Шаблон и стили можно вынести в отдельные файлы:
1 2 3 4 5 6 | |
Так проще разделить представление и поведение. Один и тот же подход можно принять для всего проекта или выбирать его для каждого компонента отдельно.
И templateUrl, и styleUrl задаются относительно каталога, в котором лежит компонент.
Использование компонентов¶
Импорты в декораторе @Component¶
Чтобы использовать компонент, директиву или пайп, его нужно добавить в массив imports декоратора @Component:
1 2 3 4 5 6 7 8 9 | |
По умолчанию компоненты Angular автономные: их можно напрямую добавлять в массив imports других компонентов. Компоненты, созданные в более ранней версии Angular, могут указывать standalone: false в декораторе @Component. Для таких компонентов импортируется NgModule, в котором компонент объявлен. Подробности в полном руководстве по NgModule.
В версиях Angular до 19.0.0 параметр standalone по умолчанию равен false.
Показ компонента в шаблоне¶
Каждый компонент задаёт CSS-селектор:
1 2 3 4 5 | |
Какие селекторы поддерживает Angular и как выбрать селектор, описано в Селекторы компонентов.
Компонент показывают, создавая подходящий HTML-элемент в шаблоне других компонентов:
1 2 3 4 5 6 7 8 9 10 | |
Angular создаёт экземпляр компонента для каждого подходящего HTML-элемента. DOM-элемент, который совпал с селектором компонента, называется его элементом-хостом. Содержимое шаблона отрисовывается внутри элемента-хоста.
DOM, который отрисовал компонент по своему шаблону, называется представлением этого компонента.
Собранное таким образом приложение Angular удобно представлять как дерево компонентов.
1 2 3 4 5 6 7 8 | |
Дерево важно для других понятий Angular, в том числе для инъекции зависимостей и дочерних запросов.
Источник: https://angular.dev/guide/components