Несколько атрибутов ng-класса в директиве

Соответствующий plnkr.

В script.js У меня есть директива super. Эта директива имеет шаблон

template: ''

с атрибутом ng-class.

Обратите внимание, что директива также имеет replace: true.

Элемент , который вызывает эту директиву в index.html, имеет атрибут ng-class. По-видимому, Angular не нравится это. Он попытается разобрать

[{viewClass: !bar} {dirClass: foo}]

который, очевидно, терпит неудачу. Я ожидал, что он будет объединен автоматически. Нет.

Я думаю, что то, что я пытаюсь достичь, понятно, но как бы я это сделал?

1 ответ

вы можете сделать это следующим образом: http://plnkr.co/edit/xEc0pRHVbVLgR0NhWPEI?p=preview

JS:

angular.module('app', [])
 .controller('myCtrl', function ($scope, $interval) {
 $scope.bar = false;
 $interval(function () {
 $scope.bar = !$scope.bar;
 }, 500);
 })
 .directive('super', function () {
 return {
 restrict: 'EA',
 template: '',
 scope: {
 foo: '='
 },
 replace: true
 };
 });

HTML:

licensed under cc by-sa 3.0 with attribution.