Разница между функцией компиляции/ссылки и функцией контроллера в AngularJS?

Я пытаюсь написать свои собственные директивы AngularJS. Кажется, я понимаю разницу между функциями compile и link. Это видео хорошо проясняет ситуацию.

Но теперь я не уверен, что понимаю роль контроллера в директиве. Директива может включать функцию controller, и вы можете внедрить в нее $element, $attrs и тому подобное, так что она может делать почти все, что может делать функция link, и, я думаю, наоборот.

Итак, у меня есть два вопроса:

  1. Существуют ли важные технические различия между функциями controller и link?
  2. Что такое лучшая практика? Какой работой я должен заниматься?

person mhelvens    schedule 26.09.2013    source источник
comment
Ах да, действительно. Спасибо! Интересно, почему это не появилось в качестве предложения. Я тоже проголосую за закрытие.   -  person mhelvens    schedule 26.09.2013