我可以在AngularJS模板中清理这些ng-if语句吗?

时间:2016-09-26 16:35:50

标签: javascript angularjs conditional angular-ng-if

我有以下AngularJS模板。

  <tr>
    <td ng-if="condition1">
      Hello World
    </td>
    <td ng-if="condition2">
      A <a ui-sref="mystate1({a: 1, b: 2})"></a>
    </td>
    <td ng-if="condition3">
      B <a ui-sref="mystate1({a: 1, b: 2})"></a>
    </td>
  </tr>

我可以简化或清理或合并这三个ng-if语句吗?

condition1condition2condition3是互斥的。但是,它们不是基于单个表达式,因此switch语句不起作用?我可以使用if-then-else结构吗?

1 个答案:

答案 0 :(得分:1)

如果它们是互斥的,那么是的,你可以简化condition2和condition3,并且只对两者使用一个条件(因为输出是相同的)。

编辑:根据您的更新,您可以简化逻辑:

<tr>
<td ng-if="condition1">
  Hello World
</td>
<td ng-if="condition2 || condition3">
  {{condition2 ? 'A' : 'B'}}
  <a ui-sref="mystate1({a: 1, b: 2})"></a>
</td>

或者您也可以使用ng-switch。