如果object为空则angularjs返回HTML类中的字符串

时间:2015-12-03 19:26:21

标签: javascript angularjs

在我的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 :(得分:0)

我建议将这个粘性逻辑分离成一个安全,有爱心的控制器,它可以在那里生存,照顾和维护:

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

然后,您可以将此绑定到ng-class,作为传递displayString$index变量的表达式。

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

答案 1 :(得分: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}}">

你看了那里