Как назначить класс элементу с помощью переменной $ scope в angular js
У меня есть класс
.haba-haba{
border:1px solid red;
height:50%;
width:50%;
}
Я сохраняю имя класса в переменной scope в моем контроллере, используя
$scope.className = "haba-haba";
Как я могу назначить $scope.className моему div классу?
Я пытался сделать <div ng-class="'{{className:true}}'"></div> это не сработало.
Кто-нибудь может подсказать мне решение? заранее спасибо!
2 ответов:
Синтаксис Директивы
ngClassСледующий:
ng-class="{'haba-haba': thruthValue}"Где
$scope.thruthValue = true;Очевидно, что вы можете заменить
trueнаfalseили функцию, которая возвращаетtrueилиfalse.Другое использование таково:
ng-class="getTheClass()"Где
Кроме того, как указывали другие люди, второе использование полностью противоречит здравому смыслу MVC. Не используйте его, если вы не знаете, что вы есть делать.$scope.getTheClass = function() { return 'haba-haba'; }
На самом деле, то, что вы должны сделать с
ng-class, это создать булеву переменную и присоединить ее к атрибутуng-class- когда это булевоtrue- div имеет этот класс:$scope.toggleClass = false; ng-class="{'haba-haba' : toggleClass}"Теперь, когда вы установили
toggleClassвtrue- Ваш div получаетhaba-habaдобавлен.
Comments