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

Can I clean up these ng-if statements in AngularJS templates?

我有以下 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 结构吗?

如果它们互斥,那么是的,您可以简化 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。