Каков наилучший способ условно применить класс? - PullRequest
1163 голосов
/ 17 октября 2011

Допустим, у вас есть массив, который отображается в ul с li для каждого элемента и свойством контроллера, называемым selectedIndex.Как лучше всего добавить класс в li с индексом selectedIndex в AngularJS?

В настоящее время я дублирую (вручную) код li и добавляю класс в один изтеги li и использование ng-show и ng-hide для отображения только одного li на индекс.

Ответы [ 22 ]

3 голосов
/ 22 июля 2013

Если вы используете угловое значение pre v1.1.5 (т.е. без троичного оператора) и вам все еще нужен эквивалентный способ установки значения в обоих условиях Вы можете сделать что-то вроде этого:

ng-class="{'class1':item.isReadOnly == false, 'class2':item.isReadOnly == true}"
0 голосов
/ 05 декабря 2017

Вы можете использовать этот пакет npm.Он обрабатывает все и имеет опции для статических и условных классов на основе переменной или функции.

// Support for string arguments
getClassNames('class1', 'class2');

// support for Object
getClassNames({class1: true, class2 : false});

// support for all type of data
getClassNames('class1', 'class2', ['class3', 'class4'], { 
    class5 : function() { return false; },
    class6 : function() { return true; }
});

<div className={getClassNames({class1: true, class2 : false})} />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...