Угловые направляющие и нг-класс

Предположим, директива с HTML, например, в component.html лайк

<div class="text-field"
     ng-class="{'classA': varA}">
....
</div>

тогда я пытаюсь сделать...

<component ng-class="{'classB': varB}"></component>

После этого в ng-class У меня что-то вроде {'classB': varB} {'classA': varA} это явно не работает.

Проблема в том, что я не могу изменить component.html но мне нужно добавить / удалить класс по ключу (в зависимости от критериев). Возможно ли добавить ng-класс в моей ситуации или может есть другой способ добавить / удалить класс?

1 ответ

Решение

Попробуйте добавить другую директиву, которая добавляет класс через скрипт, что-то вроде

.directive('myDir',function(){
  return {
    scope:{
     varB:'='
    },
    link: function($scope,$element){
      if($scope.varB)
        $element.addClass('classB');
    }
  }
});

и использовать как:

<component ng-class="{'classB': varB}" my-dir var-b="something"></component>
Другие вопросы по тегам