如何在多个<td>元素中应用ng-if(或其他条件),同时保持DRY

Kos*_*sis 28 html angularjs

我想<td>基于相同的条件显示许多元素.我目前正在使用多个相同的ng-if指令,因此:

<tbody>
  <tr>
    <td> Display unconditionally </td>
    <td> Same here... (imagine more columns) </td>
    ...
    <td ng-if='myCondition'> Display based on condition </td>
    <td ng-if='myCondition'> And the same </td>
    <td ng-if='myCondition'> for plenty of columns </td>
  </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

虽然这是有效的,但人们不禁会注意到所有的重复.关于如何干涸的任何想法?

squ*_*oid 50

使用 ng-if-start和ng-if-end

<table>
    <tr>
      <td ng-if-start="false" >one</td>
      <td>two</td>
      <td ng-if-end >three</td></td>
      <td>foure</td>
      <td>five</td>

      </tr>
    </table>
Run Code Online (Sandbox Code Playgroud)

Plunker

  • 官方文档:https://docs.angularjs.org/api/ng/service/$compile#-multielement-(链接在 https://docs.angularjs.org/api/ng/directive/ngIf 中的“指令信息”下) (2认同)
  • @thomaux显然,从版本1.2开始,"-start"" - end"语法可用. (2认同)