Я пытаюсь написать свои собственные директивы AngularJS. Кажется, я понимаю разницу между функциями compile
и link
. Это видео хорошо проясняет ситуацию.
Но теперь я не уверен, что понимаю роль контроллера в директиве. Директива может включать функцию controller
, и вы можете внедрить в нее $element
, $attrs
и тому подобное, так что она может делать почти все, что может делать функция link
, и, я думаю, наоборот.
Итак, у меня есть два вопроса:
- Существуют ли важные технические различия между функциями
controller
иlink
? - Что такое лучшая практика? Какой работой я должен заниматься?