当前位置: 首页 > 知识库问答 >
问题:

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

昝存
2023-03-14
  <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语句吗??

条件1条件2条件3是互斥的。但是,它们不是基于单个表达式,所以switch语句不能工作?我可以使用if-then-else结构吗?

共有1个答案

郭兴文
2023-03-14

如果它们是互斥的,那么是的,您可以简化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模板中做一个条件。我从Youtube API获取视频列表。某些视频的比例为16:9,有些视频的比例为4:3。 我想要这样的条件: 我正在使用迭代视频。不知道该如何应对这种情况: 在范围内添加功能? 是否在模板中? 问题答案: Angularjs(低于1.1.5版)不提供此功能。以下是您要达到的目标的几种选择: ( 如果您使用的是1.1.5或更高版本,请跳至下面的

  • 我想在AngularJS模板中做一个条件。我从Youtube API获取一个视频列表。视频有的比例为16:9,有的比例为4:3。 我想提出这样一个条件: 我正在使用迭代视频。我不知道该怎么处理这种情况: 是否在作用域中添加函数? 是否在模板中执行?

  • 问题内容: 有没有办法在ng-click内放置条件?在这里,我希望如果存在任何表单错误,则不提交表单,但是随后出现了解析异常。 我尝试使用ng-disabled,但是我的验证插件无法正常工作,因为根本没有提交表单,因此不会触发。 问题答案: 不要在模板中放置任何条件表达式。 在控制器上执行此操作。 模板: 控制器:

  • 是否有一种执行if语句的单行方法,该语句只使用布尔值触发一次? 与此类似的东西。

  • 我想知道是否有可能把代码的这个语句变成一个三元if语句。 我试过这样格式化它--但不认为它很管用。

  • 我有一个方法,它做了相当多的验证,它正在发展失控。如果有任何关于如何最好地清理这种方法的建议,我将不胜感激。我使用的是Java 11,这个方法是spring boot微服务的一部分。