Directives
Angular темплейты динамические. Когда Angular рендерит их, он преобразует DOM в соответствии с инструкциями, которые указываются с помощью директив.
В Angular есть три типа директив:
Компоненты: компонент по сути также является директивой, а декоратор
@Componentрасширяет возможности декоратора@Directiveс помощью добавления функционала по работе с шаблонами.Атрибутивные: они изменяют поведение уже существующего элемента, к которому они применяются. Например,
ngModel,ngStyle,ngClassСтруктурные: они изменяют структуру DOM с помощью добавления, изменения или удаления элементов hmtl. Например, это директивы
ngForиngIf
Компоненты
Директива - это класс с декоратором @Directive. Компонент - это "директива с шаблоном". Декоратор @Component на самом деле является декоратором @Directive, с дополнительными возможностями ориентированными на темплейт. Тут все ясно :)