是否有更简洁的方法在AngularJS html视图中执行if else语句?

时间:2016-05-10 15:22:00

标签: javascript angularjs if-statement

这是我的代码:

<td ng-repeat="header in vm.headers">
    <span ng-if="header.key !='location'">
        {{ row[header.key] }}
    </span>
    <span ng-if = "header.key =='location'">
        {{ row[header.key].siteName }}
    </span>
</td>

感觉可能有一种更清晰的方式来做角度“* Js 1.5.5 **

我在一篇评价很高的SO帖子上看到了以下例子,但我真的不明白。他们展示的代码如下:

<div>{{ConditionVar ? 'varIsTrue' : 'varIsFalse'}}</div>

有人能告诉我如何将我的两个ng-if语句转换为上面的例子,还是一个更好的例子?

2 个答案:

答案 0 :(得分:5)

使用ternary operator

{{ row[header.key] === 'location' ? row[header.key].siteName : row[header.key] }}

答案 1 :(得分:1)

if-else的其他方法是使用ngSwitch。我希望它能奏效。

<div ng-switch="header.key">
   <span ng-switch-when="!location">
                {{ row[header.key] }}
  </span>
  <span ng-switch-when="location">
                {{ row[header.key].siteName }}
  </span>