我可以清理 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
语句吗??
condition1
、condition2
和condition3
是互斥的。但是,它们不是基于单个表达式,所以 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。
我有以下 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
语句吗??
condition1
、condition2
和condition3
是互斥的。但是,它们不是基于单个表达式,所以 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。