Когда написать директиву?

Angular предоставляет нам механизм для написания директив, который чрезвычайно силен в своих возможностях. Но меня постоянно удивляет то, в каком сценарии вы должны написать собственную директиву.

Мы продолжаем видеть вопросы внутри и вокруг Stack Overflow, когда разные люди пытаются писать директивы, которые (на мой взгляд) не нужно писать в первую очередь. В большинстве случаев их можно решить с помощью комбинации повтора, переключения и показа. Смотрите примеры вопросов, содержащих директивы, которые, я думаю, не должны быть директивами в первую очередь!

https://stackoverflow.com/questions/16101073/angularjs-directive-is-not-working-in-ie-10

Нажатие кнопки Fire в AngularJS

angularjs: использование директивы внутри модальности ui-bootstrap

Несколько примеров сценариев. В любом случае, я их не выбираю ... потому что я уверен, что никому не ясно, когда мы должны использовать / писать директиву.

Мы видим сценарий, в котором люди используют директивы в качестве механизма шаблонов. Это правильный способ делать вещи? Или есть лучший способ? (возможно, включает в себя ng-include?) Есть ли плюсы / минусы использования директив в качестве шаблонного механизма? Причина этого вопроса заключается в том, что иногда мне интересно, пишут ли люди директивы, потому что, исходя из мира jquery, первое, о чем они могут подумать - это писать код, манипулирующий DOM, а так как Angular - не манипулировать DOM в контроллерах, все это тяготеет к написанию. весь этот код в директиве.

РЕДАКТИРОВАТЬ :

Я полагаю, что эта путаница (засовывание вещей в директиву) возникает из-за того, что в Angular нет отдельного понятия «представление» - в отличие от Backbone (который имеет только «представление», но не имеет компонента!). Директивы изумительны при определении компонентов - но я думаю, что если вы будете использовать их для создания «представлений», вы потеряете некоторые «угловатые» способы. Хотя это мое мнение - именно поэтому я спрашиваю, что думает остальная часть ангулярного сообщества.

Хорошая вещь о более простых директивах (директивах, которые делают только одну вещь!) Состоит в том, что их абсолютно легко проверить. Если вы посмотрите на все директивы ng, они все делают 1 вещь и делают это довольно хорошо.

Каков наилучший способ определения многоразовых «представлений» (не компонентов!) В Angular? Должно ли это быть написано в директиве? Или есть лучший способ?

Было бы здорово, если бы у одного из Angular Dev было мнение по этому поводу!

Ответы на вопрос(2)

Ваш ответ на вопрос