=====Обработка выражений в директивах AngularJS===== AngularJS предоставляет ряд сервисов, которые работают с выражениями AngularJS, в том числе и выражениями привязки. Разберем один из них - сервис **$compile**. Он преобразует HTML-код, содержащий выражения привязки и директивы, в функцию, вызываемую для генерации контента.\\ \\ Чтобы применить сервис $compile, возьмем директиву answerList из прошлой темы и изменим ее следующим образом: questApp.directive("answerList", function($compile) { return function (scope, element, attrs) { var content = "
" + "
" + "
" + "" + "{{answer.rate}}" + "" + "
" + "{{answer.text | formatText}}" + "

{{answer.author}}

" + "

{{answer.date}}

" + "
"; var answersElem = angular.element(content); var compileFn = $compile(answersElem); compileFn(scope); element.append(answersElem); } });
Сервис $compile представляет функцию, генерирующую контент из фрагментов html. Чтобы наполнить контент данными из контроллера, в функцию передается параметр scope: compileFn(scope);\\ \\ Завершает работу метод element.append(answersElem), который добавляет сгенерированный контент в структру DOM веб-страницы.