Несколько атрибутов 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.