Я пытаюсь условно применить директиву к элементу, основанному на его классе.
Вот простой случай моей проблемы, увидеть результаты в этой скрипте. В этом примере я использую карту имен классов для booleans формы ng-class
с true
; в моем случае я хотел бы использовать логический результат функции.
Разметка:
<div ng-app="example">
<div class="testcase">
This will have the directive applied as I expect
</div>
<div ng-class="{'testcase':true}">
This will not have the directive applied but I expect it to
</div>
</div>
JS:
angular.module('example', [])
.directive('testcase', function() {
return {
restrict: 'C',
link: function(scope, element, attrs) {
element.css('color', 'red');
}
}
}
);
Почему директива не применяется к div
, которая получает свой класс через ng-class
? Я что-то не понимаю о порядке, в котором AngularJS обрабатывает директивы?
Как я должен условно применять директиву к элементу, основанному на оценке выражения?