Potrzebuję użyć ng-repeat
(w AngularJS), aby wyświetlić listę wszystkich elementów w tablicy.Jak używać ng-repeat bez elementu html
Powikłaniem jest to, że każdy element tablicy zostanie przekształcony do jednego, dwóch lub trzech wierszy tabeli.
Nie mogę utworzyć poprawnego html, jeśli w elemencie użyto elementu ng-repeat
, ponieważ nie jest dozwolony żaden typ powtarzalnego elementu między <tbody>
i <tr>
.
Na przykład, jeśli użyłem NG-repeat na <span>
, chciałbym dostać:
<table>
<tbody>
<span>
<tr>...</tr>
</span>
<span>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</span>
<span>
<tr>...</tr>
<tr>...</tr>
</span>
</tbody>
</table>
Która jest nieprawidłowy HTML.
Ale co muszę być generowana jest:
<table>
<tbody>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
gdzie pierwszy rząd został wygenerowany przez pierwszy element tablicy, następne trzy przez drugi i piąty i szósty przez ostatniego elementu tablicy.
Jak korzystać z polecenia ng-repeat w taki sposób, że element HTML, z którym jest związany, "znika" podczas renderowania?
Czy istnieje inne rozwiązanie tego problemu?
Wyjaśnienie: Wygenerowana struktura powinna wyglądać jak poniżej. Każdy element tablicy może generować od 1 do 3 wierszy tabeli. Odpowiedź powinna idealnie wspierać 0-n wierszy na element tablicy.
<table>
<tbody>
<!-- array element 0 -->
<tr>
<td>One row item</td>
</tr>
<!-- array element 1 -->
<tr>
<td>Three row item</td>
</tr>
<tr>
<td>Some product details</td>
</tr>
<tr>
<td>Customer ratings</td>
</tr>
<!-- array element 2 -->
<tr>
<td>Two row item</td>
</tr>
<tr>
<td>Full description</td>
</tr>
</tbody>
</table>
Może powinieneś użyć "replace: true"? Zobacz: http: // stackoverflow.com/questions/11426114/angularjs-why-doesnt-replace-true-work-with-templateurl-property – Tommy
Ponadto, dlaczego nie możesz użyć polecenia ng-repeat na samym pliku tr? – Tommy
@Tommy, ponieważ "każdy element tablicy przekształci się w jeden, dwa lub trzy wiersze tabeli". Gdybym użył powtórzenia ng na 'tr', dostałbym jeden wiersz na element tablicy, o ile rozumiem. – fadedbee