Как назначить класс элементу с помощью переменной $ 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> это не сработало.



Кто-нибудь может подсказать мне решение? заранее спасибо!

469   2  

2 ответов:

Синтаксис Директивы ngClass Следующий:

ng-class="{'haba-haba': thruthValue}"

Где

$scope.thruthValue = true;

Очевидно, что вы можете заменить true на false или функцию, которая возвращает true или false.

Другое использование таково:

ng-class="getTheClass()"

Где

$scope.getTheClass = function() {
    return 'haba-haba';
}

Вот рабочая скрипка второго использования.

Кроме того, как указывали другие люди, второе использование полностью противоречит здравому смыслу MVC. Не используйте его, если вы не знаете, что вы есть делать.

На самом деле, то, что вы должны сделать с ng-class, это создать булеву переменную и присоединить ее к атрибуту ng-class - когда это булево true - div имеет этот класс:

$scope.toggleClass = false;

ng-class="{'haba-haba' : toggleClass}"

Теперь, когда вы установили toggleClass в true - Ваш div получает haba-haba добавлен.

Comments

    Ничего не найдено.