Директивы¶
30.09.2026
Директивы добавляют поведение элементам и компонентам в приложениях Angular.
Директива может менять вид элемента, его поведение или то, как он встаёт в DOM. Вместе с Angular поставляется несколько встроенных директив, и свои можно написать самостоятельно.
Когда использовать директиву¶
Директивы сильнее всего там, где нужно упаковать переиспользуемое поведение и повесить его на уже существующий элемент или компонент.
Обычные случаи:
- Один и тот же вид или поведение на многих элементах, например автофокус или всплывающая подсказка.
- Чтение или запись DOM, атрибутов или классов элемента-хоста.
- Поведение для чужого компонента без правки его исходного кода.
Если нужно отрисовать свою разметку или вести кусок интерфейса со своим шаблоном, берите компонент — это директива со своим шаблоном.
Короткий пример¶
Допустим, элемент должен подсвечиваться, когда на него наводят мышь, и менять цвет фона на жёлтый. Вместо одной и той же обработки событий на каждом элементе это поведение оформляют директивой и применяют там, где нужно.
Директива appHighlight задаёт цвет фона элемента-хоста, когда указатель входит, и сбрасывает его, когда указатель уходит:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Метаданные host слушают события мыши и обновляют сигнал isHovered, а стиль background-color элемента-хоста привязан к значению сигнала.
Директиву применяют, добавляя её селектор атрибутом элемента:
1 | |
Каждый элемент с атрибутом appHighlight получает одно и то же поведение при наведении, а логика описана в одном месте.
Виды директив¶
В Angular три основных вида директив:
| Вид директивы | Подробности |
|---|---|
| Компоненты | Задают переиспользуемый интерфейс со своим шаблоном. |
| Директивы атрибутов | Меняют внешний вид или поведение элемента, компонента или другой директивы. |
| Структурные директивы | Меняют раскладку DOM, добавляя и удаляя элементы DOM. |
Что дальше¶
Подробнее о каждом виде — в следующих руководствах.
Источник: https://angular.dev/guide/directives