angularjs, если объект пуст, вернуть строку в классе HTML

0

В моем html файле у меня есть

<td data-ng-repeat="definition in visibleColumnDefinition"
    ng-style="{'width': definition.width}" class="table-ajax-col-{{definition.columnHeaderDisplayName}}">

где columnHeaderDisplayName может возвращать пустой. Я хотел бы иметь условие if, чтобы проверить, является ли columnHeaderDisplayName пустым или нет и возвращает строку.

!columnHeaderDisplay?$index : columnHeaderDisplay

Каков синтаксис для этого, если логика в angularjs?

Теги:

2 ответа

0
Лучший ответ

Это не работает?

<td data-ng-repeat="definition in visibleColumnDefinition track by $index"
    ng-style="{'width': definition.width}" class="table-ajax-col-{{definition.columnHeaderDisplayName ? definition.columnHeaderDisplayName : $index}}">

Ты смотрел там

0

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

$scope.fetchClassNameForColumnHeaderBasedOnHeaderDisplayName = fetchClassNameForColumnHeaderBasedOnHeaderDisplayNameFn(displayNameString, indexVariable) {
  if (displayNameString && displayNameString !== '') {
    return 'table-ajax-col-' + displayNameString;
  } else {
    return 'table-ajax-col-' + indexVariable
  }
}

Затем вы можете просто привязать это к ng-классу как выражение, проходящее в вашей переменной displayString и $index.

<td data-ng-repeat="definition in visibleColumnDefinition"
    ng-style="{'width': definition.width}" 
    ng-class="fetchClassNameForColumnHeaderBasedOnHeaderDisplayName(definition.columnHeaderDisplayName, $index)"
>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню