Voglio inserire una riga aggiuntiva in linea in una tabella quando il client fa clic sulla riga. I dati non dovrebbero essere precaricati, dal momento che mi aspetto che ci siano al massimo 30 righe, ma dove ogni riga ha dati associati che non sarebbero ragionevoli recuperare in un get.Push righe in una tabella di rendering con ng-repeat in angolare
Il mio approccio finora è quello di usare ng-repeat per iterare la mia collezione e renderizzare una tabella. Quando il cliente preme la riga, il client si aspetta che i dettagli sulla riga vengano mostrati in linea come una riga aggiuntiva sotto la riga premuta.
<tr ng-repeat="court in courts">
<td>{{court.name}}</td>
<td>{{court.number}}</td>
<td>{{court.nrOfPlayers}}</td>
<td>
<a href ng:click="toggle(court.number)">Details</a> <!-- click toggles extra row with data loaded async -->
</td>
</tr>
<!-- extra row here -->
sono riuscito a vedere i dettagli sotto il tavolo con un ng-spettacolo in un modo hacky, ma che non è quello che voglio.
Come si realizza con angular.js? Qual è il modo angolare di fare questo?
Ecco un violino con un esempio stupido campo da squash http://jsfiddle.net/HByEv/
nella tua soluzione c'è una duplicazione dell'elemento 'tbody'. nell'angolare 1.2+ puoi usare 'ng-repeat-start' e' ng-repeat-end' per evitare questo. Ho aggiornato il tuo violino: http://jsfiddle.net/3yamebfw/ –
@JossefHarush La tua soluzione è attualmente il modo corretto per farlo. Quando è stata fornita questa risposta, 'ng-repeat-start' e' ng-repeat-end' non erano disponibili. Post scriptum La duplicazione 'tbody' è HTML valido. :) –