2015-04-14 10 views
8

Questo codice mi fornisce una tabella con gli elementi in una singola colonna.ng-repeat all'interno di ng-repeat con td per ogni elemento - AngularJS

Qui i dati saranno come questo

var data = [[{"id":"1","value":"One"},{"id":"2","value":"Two"},{"id":"3","value":"three"}],[{"id":"4","value":"four"},{"id":"5","value":"five"},{"id":"6","value":"six"}],[{"id":"7","value":"seven"},{"id":"8","value":"eigth"},{"id":"9","value":"nine"}]] 

<div id="mydiv"> 
    <table> 
     <tr ng-repeat="rows in data"> 
      <td ng-repeat="item in rows">{{item.id}}:{{item.value}}</td> 
     </tr> 
    </table> 
</div> 

questo mi dà una tabella con tre colonne. Come

1:One 2:Two 3:three 
4:four 5:five 6:six 
7:seven . . . 

Insieme a questo voglio che il tavolo con item.id in una colonna : in una colonna e item.value in una colonna per una migliore leggibilità e non in una singola colonna.

Ho provato a farlo ma non sono in grado di farlo funzionare, qualcuno può aiutarmi con questo?

+0

Solo per verificare che la mia comprensione sia corretta - ci sono tre elementi in ogni riga, giusto? –

+3

Allora, qual'è 'data'? – andlrc

+0

Sì @ TadeášPeták – kumareloaded

risposta

23

Si dovrebbe definire il vostro tavolo in questo modo:

<div id="mydiv"> 
    <table> 
     <tr ng-repeat="rows in data"> 
      <td ng-repeat-start="item in rows">{{item.id}}</td> 
      <td>:</td> 
      <td ng-repeat-end>{{item.value}}</td> 
     </tr> 
    </table> 
</div> 

Per ulteriori informazioni vedere il Special repeat start and end points section of the ngRepeat documentation:

Per ripetere una serie di elementi invece di uno solo elemento padre, ngRepeat (così come altre direttive ng) supporta l'estensione del range del ripetitore definendo i punti iniziali e finali espliciti usando rispettivamente ng-repeat-start e ng-repeat-end. La direttiva ng-repeat-start funziona allo stesso modo di ng-repeat, ma ripeterà tutto il codice HTML (incluso il tag su cui è definito) fino a includere il tag HTML finale dove viene posizionato ng-repeat-end.

+1

Perfetto! Grazie :) – kumareloaded

+0

Considera questa risposta la risposta corretta alla tua domanda? Se sì, puoi contrassegnarlo come la risposta corretta per aiutare gli altri quando leggono la tua domanda? –

+0

E se alcune delle righe non contengono elementi? Fondamentalmente, ho questa tabella che contiene alcune categorie. Alcuni di loro hanno sottocategorie, altri no. Come posso inserire il codice nel mio html? Per quanto riguarda la struttura dell'array I in ingresso, appare come segue: {nome: 'nome_categoria', sottocategorie: {}} Ovviamente alcuni degli oggetti hanno la matrice delle sottocategorie vuota –

Problemi correlati