Просто подумал, что добавлю свое нынешнее понимание и как оно относится к другим концепциям JS.
Значение по умолчанию (например, не объявлено или область: false)
Это философски эквивалентно используя глобальные переменные.
scope: {}
Это похоже на модуль, все, что он хочет, чтобы получить доступ ко всему в родительском контроллере, но он также влияет на них и влияет на него. для использования необходимо передать явно. Если EIVY-директива, используемая вами, является областью изоляции, она может быть эквивалентна созданию КАЖДОГО JS-файла, который вы пишете свой собственный модуль с большим количеством накладных расходов при инъекции всех зависимостей.
scope: child
Это промежуточная точка между глобальными переменными и явной транзитной пересылкой. Он похож на цепочку прототипов javascript и просто расширяет вашу копию родительской области. Если вы создаете область изоляции и передаете каждый атрибут и функцию родительской области, она функционально эквивалентна этому.
Ключ в том, что ANY-директива может быть записана ЛЮБОЙ путь. Здесь вы можете различать различные объявления областей, которые помогут вам организовать. Вы можете сделать все модули, или вы можете просто использовать все глобальные переменные и быть очень осторожными. Для удобства обслуживания, хотя предпочтительнее модулировать вашу логику в логически когерентные части. Существует баланс между открытым лугом и закрытым тюремным залом. Причина в том, что это сложно, я считаю, что когда люди узнают об этом, они думают, что они узнают о том, как работают директивы, но на самом деле они изучают организацию кода / логики.
Еще одна вещь, которая помогла мне разобраться, как директивы работа изучает ngInclude. ngInclude позволяет включать частичные части html. Когда я впервые начал использовать директивы, я обнаружил, что вы можете использовать его вариант шаблона для сокращения вашего кода, но я действительно не добавлял какую-либо логику.
Конечно, между директивами углов и работой угловыми -ui мне еще не приходилось создавать свою собственную директиву, которая делает что-то существенное, поэтому мой взгляд на это может быть совершенно неправильным.