Saya perlu menggunakan ng-repeat
(dalam AngularJS) untuk mendaftar semua elemen dalam sebuah array.
Komplikasinya adalah bahwa setiap elemen array akan berubah menjadi satu, dua atau tiga baris tabel.
Saya tidak dapat membuat html yang valid, jika ng-repeat
digunakan pada suatu elemen, karena tidak ada jenis elemen berulang yang diizinkan antara <tbody>
dan <tr>
.
Misalnya, jika saya menggunakan ng-repeat <span>
, saya akan mendapatkan:
<table>
<tbody>
<span>
<tr>...</tr>
</span>
<span>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</span>
<span>
<tr>...</tr>
<tr>...</tr>
</span>
</tbody>
</table>
Yang html tidak valid.
Tapi yang perlu saya hasilkan adalah:
<table>
<tbody>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
di mana baris pertama telah dihasilkan oleh elemen array pertama, tiga berikutnya oleh yang kedua dan kelima dan keenam oleh elemen array terakhir.
Bagaimana saya bisa menggunakan ng-repeat sedemikian rupa sehingga elemen html yang terikat 'menghilang' selama rendering?
Atau adakah solusi lain untuk ini?
Klarifikasi: Struktur yang dihasilkan akan terlihat seperti di bawah ini. Setiap elemen array dapat menghasilkan antara 1-3 baris tabel. Jawabannya idealnya mendukung 0-n baris per elemen array.
<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>
tr
saya akan mendapatkan satu baris per elemen array, sejauh yang saya mengerti.
tr
s yang dihasilkan oleh satu elemen array tidak memiliki struktur yang sama.