Чем отличается компонент от директивы в Angular 2/4/5?

Такой вопрос любят задавать на собеседованиях на вакансию Frontend-разработчика на Angular 2+.

Если почитать документацию, то в Angular есть 3 типа директив:

  • Компоненты (директивы с шаблоном)
  • Структурные директивы
  • Директивы атрибутов

Получается, что компонент является типом директивы с шаблоном, стилями и логической частью, которая является наиболее известным типом директивы среди всех в Angular 2/4/5. В этом типе директивы вы можете использовать другие директивы, независимо от того, является ли она пользовательской или встроенной в аннотацию @component, например:

@Component({
    selector: "my-app"
    directives: [custom_directive_here]
})

В шаблоне этот компонент (или директиву) можно вызвать так:

<my-app></my-app>

Получается, что компонент — это один из типов директив в Angular 2+, имеющий однако свой собственный декоратор и дополнительные поля для подключения файлов шаблонов и стилей. Декоратор @Component является расширением родительского декоратора @Directive.

Запись опубликована в рубрике Angular 2/4/5 с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">