Я все еще путаю, где использовать функцию ссылки и компиляции.
Заранее спасибо!
Функция ссылки используется в директиве.
Параметр функции ссылки ссылается на элемент, к которому прикреплена директива.
link: function(scope, element, attr)
Элемент здесь является элементом HTML. и attr ссылается на атрибуты элемента HTML
Таким образом, вы можете сделать element.text('fred');
Чтобы установить текст элемента в 'fred' и т.д.
$ compile Я не так хорошо знаком
Из этого SO-ответа
функция компиляции - использовать для манипуляции с шаблоном DOM (т.е. манипулирование элементом tElement = template), следовательно, манипуляции, которые применяются ко всем клонам DOM шаблона, связанным с директивой.
link - использовать для регистрации DOM-прослушивателей (т.е. $ watch выражений в области экземпляра), а также манипуляции с экземпляром DOM (т.е. манипулирование iElement = отдельным элементом экземпляра).