2017-11-23 2 views
1

Ich habe eine Tabelle: -Wie legen Sie mit ng-repeat unterschiedliche Bedingungen für jede Zeile in einer Tabelle fest?

<table style="width:100%;" cellpadding="0" cellspacing="0"> 
     <thead> 
      <tr> 
       <th>Row1</th> 
       <th>Row2</th> 
       <th>Row3</th> 
       <th>Row4</th> 
       <th>Row5</th> 
       <th>Row6</th> 
       <th>Row7</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr ng-repeat="row in ListDisplay"> 
       <td>{{row.val1}}-{{row.val2}}</td> 
       <td>{{row.val3 != null ? row.val3 : "&nbsp;"}}</td> 
       <td><div class="width">{{row.val4 != null ? row.val4 : "&nbsp;"}}</div> 
       </td> 
       <td>{{row.val5 != null ? row.val5 : "&nbsp;"}}</td> 
       <td>{{row.val6 != null ? (row.val3 == "1"? row.val6 : (row.val6 | date:'dd-MMM-yyyy')) : "&nbsp;"}}</td> 
       <td>{{row.val7}} {{row.val8 != null ? row.val8 : "&nbsp;"}}</td> 
      </tr> 
     </tbody> 
</table> 

Mit jedem <td></td> Tag besteht aus verschiedenen Bedingungen. Ich möchte ng-wiederholen auf <td></td> Tag. Dies ist jedoch aufgrund der oben genannten Bedingungen nicht möglich. Gibt es dafür einen Workaround?

+0

Sie können versuchen, dies zu schreiben: '' oder vorbereiten Daten im Voraus. –

Antwort

1

Ich denke, das ist eine Art von schlecht ist und haben keine Ahnung, warum Sie nicht ‚ng-if‘ verwenden,

aber ich schlage vor, einen Weg

prüfen diese Geige.

table with ng-repeat

$scope.setTdValue = function(row, idx){ 
    var result = null; 
    switch(idx){ 
     case 0 : 
      result = row.val1 - row.val2 
      break; 
     case 1 : 
      ... 
    } 
}; 
2

Sie können ngif auf jedem td-Tag verwenden. Weitere Informationen zu ngif finden Sie unter here.

+0

Aber ich möchte nur ng-repeat verwenden. Dann funktioniert die obige Lösung nicht –

+0

Was ist falsch mit der Verwendung von ngif in jedem td und zeigen Sie Ihren Wert auf der Grundlage der Bedingung? – Guest

Verwandte Themen