angularjs console.log имя класса элемента, класс которого применен через тернарный оператор
У меня есть элемент, который имеет класс, примененный через троичную операцию
Например:
<div id="expand" ng-show="!model.displayItem" ng-click="toggleDisplay()" class="{model.displayItem?'Expand':'Collapse'}" focus-index="{model.displayItem?'101':'102'}">
Я хочу напечатать значение класса, который наконец применяется в toggleDisplay()
function toggleDisplay()
{
console.log("Class applied : " + $("#expand").attr('class'));
}
Когда я печатаю это, результат
o/p:-
Class applied : {model.displayItem?'Expand':'Collapse'}
Как я могу получить только имя класса, которое применяется в настоящее время?
Точно так же я хочу напечатать указатель фокуса тоже.
3 ответа
Использование ng-class="model.displayItem?'Expand':'Collapse'"
вместо class="{model.displayItem?'Expand':'Collapse'}"
Я думаю, что у вас неверные шаблонные переменные, вам нужно {{выражение}}, а не {выражение}
Следующие работы для меня:
<div class="{{model.displayItem?'Expand':'Collapse'}}">
<h1>hello</h1>
</div>
Айдан
До угловых нагрузок ваш класс буквально будет {model.displayItem?'Expand':'Collapse'}
,
Так что используйте ng-class="model.displayItem?'Expand':'Collapse'"
как он ждет, пока Angular запустит свой первый дайджест.