Самая большая проблема с Angular 1 заключается в том, насколько сложно расширить (в объектно-ориентированном смысле) директиву.Угловые 2 директивы теперь «расширяемы»?
Например, практически невозможно повторно использовать директиву input[number]
для моего пользовательского виджета, и мне пришлось повторно реализовать весь код проверки и преобразования типа.
Угловые 2 компоненты реализованы в виде классов, поэтому кажется, что их можно легко расширить. Тем не менее, они также имеют аннотацию @Component
с очень специфическими селекторами и т. Д., Что делает ее неясной для меня, если они могут быть полностью переопределены.
Так же существуют угловые 2 директивы на самом деле расширяемые?
Edit:
Хорошо, "расширяемый" не должны быть расширения классов. Он может создавать новую директиву, состоящую из нескольких существующих директив. Мой вопрос с таким подходом заключается в том, каков механизм применения дочерних директив?
(The @Component
классы не являются традиционными классами OO с методами, которые можно направить в детей. Это всего лишь контейнер полей и обратных вызовов, которые полностью движимый все, что за аннотацией.)
Привет, я полностью согласен с вами в отношении «композиции предпочтения по наследству», но это не так просто с Угловыми компонентами. См. Мое редактирование выше. –