Показать сообщение отдельно
  #4 (permalink)  
Старый 20.02.2014, 07:14
Аватар для FireVolkhov
Аспирант
Отправить личное сообщение для FireVolkhov Посмотреть профиль Найти все сообщения от FireVolkhov
 
Регистрация: 17.04.2013
Сообщений: 88

Сообщение от Shitbox2 Посмотреть сообщение
А если на элементе несколько директив? Они по второму разу перекомпилятся, либо придется велосипедить.
"priority: 1000" и "terminal: true" обрывает сборку остальных директив в первой итерации, а в линке компилится все остальные директивы.
app.directive('myDir', function ($compile) {
    return {
      restrict: 'A',
      replace: false, 
      terminal: true, //this setting is important, see explanation below
      priority: 1000, //this setting is important, see explanation below
      compile: function compile(element, attrs) {
        element.attr('tooltip', 'example');
        element.removeAttr("my-dir"); //remove the attribute to avoid indefinite loop
        return {
          pre: function preLink(scope, iElement, iAttrs, controller) {  },
          post: function postLink(scope, iElement, iAttrs, controller) {  
            $compile(iElement)(scope);
          }
        };
      }
    };
  });
Ответить с цитированием