¿Cómo aplico una directiva AngularJS basada en una clase establecida por ng-class?
Estoy tratando de aplicar condicionalmente una directiva a un elemento basado en su clase.
Aquí hay un caso simple de mi problema,ver los resultados en este violín.. Para este ejemplo, estoy usando el mapa de nombres de clase a la forma booleana deng-class
contrue
; en mi caso real me gustaría usar el resultado booleano de una función.
Margen:
<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');
}
}
}
);
¿Por qué la directiva no se aplica a ladiv
eso es conseguir su clase a travésng-class
? ¿Estoy malinterpretando algo sobre el orden en que AngularJS está procesando las directivas?
¿Cómo debo aplicar condicionalmente una directiva a un elemento basado en la evaluación de una expresión?