9. Когда использовать компоненты
• Легкая конфигурация
• Оптимизирован под компонентно-ориентированные
архитектуры
• Легкость при переходе на Angular 2
10. Когда НЕ использовать компоненты
• ДОМ манипуляции, обработчики событий
• Если нужно использовать priority, terminal, multi-element
• Должен вызываться как CSS класс или атрибут
11. Directive Component
bindings No Yes (binds to controller)
bindToController Yes (default: false) No (use bindings instead)
compile function Yes No
controller Yes Yes (default function() {})
controllerAs Yes (default: false) Yes (default: $ctrl)
link functions Yes No
multiElement Yes No
priority Yes No
require Yes Yes
restrict Yes No (restricted to elements
only)
scope Yes (default: false) No (scope is always isolate)
template Yes Yes, injectable
templateNamespace Yes No
templateUrl Yes Yes, injectable
terminal Yes No
transclude Yes (default: false) Yes (default: false)
20. Особенности архитектуры
• Компоненты контролируют только свои ВЬЮШКУ и ДАННЫЕ
• Компоненты имеют свои точки ВХОДА и ВЫХОДА данных (Inputs
and Outputs)
• Приложение как дерево из компонентов