ngClass - создание имени класса, содержащего угловое выражение

Я хотел бы создать имена классов, основанные на оценке углового выражения, но кажется, что angular удаляет эти выражения из в конечном итоге скомпилированных классов. При переборе ячеек используйте следующий код:

<td ng-class="{'label{{cell.count}}': !!cell.count}"></td>

Моя цель состоит в том, чтобы, когда cell.count = 1, результирующий класс был "label1", когда cell.count = 2, "label2" и т. Д. На практике происходит то, что angular отбрасывает выражение в конечном классе. как!!cell.count, я получаю класс "label" независимо от количества. Как мне этого добиться?

2 ответа

Попробуй это:

<td ng-class="{'label'+cell.count: !!cell.count}"></td>

Если это становится слишком сложным, вы также можете переместить весь объект в функцию в области видимости.

<td ng-class="getCellClass()"></td>

а потом:

$scope.getCellClass = function() { ... }

Ваша проблема в том, что {{...}} замена здесь не подходит Вы должны использовать угловое выражение для создания объекта или, если вы вызываете метод в области видимости, вы можете сделать любой javascript, который вам нужен для его создания.

Вы когда-нибудь пробовали: <td ng-class="'label' + cell.count"></td> - просто не использовать фигурные скобки работает для меня в моем проекте (угловой 1.5).

Я была такая же проблема. Мне удалось решить это так:

<td ng-class="{['label' + cell.count]: !!cell.count}"></td>
Другие вопросы по тегам