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 запустит свой первый дайджест.

Другие вопросы по тегам