Мне нужно использовать ng-repeat(в AngularJS), чтобы перечислить все элементы в массиве.
Сложность состоит в том, что каждый элемент массива преобразуется в одну, две или три строки таблицы.
Я не могу создать действительный HTML, если ng-repeatиспользуется для элемента, так как между <tbody>и <tr>.
Например, если бы я использовал ng-repeat <span>, я бы получил:
<table>
<tbody>
<span>
<tr>...</tr>
</span>
<span>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</span>
<span>
<tr>...</tr>
<tr>...</tr>
</span>
</tbody>
</table>
Который является недействительным HTML.
Но то, что мне нужно создать:
<table>
<tbody>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
где первая строка была сгенерирована первым элементом массива, следующие три - вторым, а пятый и шестой - последним элементом массива.
Как я могу использовать ng-repeat таким образом, чтобы элемент html, с которым он связан, «исчезал» во время рендеринга?
Или есть другое решение для этого?
Пояснение: сгенерированная структура должна выглядеть следующим образом. Каждый элемент массива может генерировать от 1 до 3 строк таблицы. В идеале ответ должен поддерживать 0-n строк на элемент массива.
<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Насколько я понимаю, если бы я использовал ng-repeat, я бы получил по одной строке на элемент массива.
trс, которые генерируются одним элементом массива, не имеют одинаковую структуру.