J'ai besoin d'utiliser ng-repeat
(AngularJS) la liste de tous les éléments dans un tableau.
La complication est que chaque élément de la matrice de transformation pour une, deux ou trois lignes d'une table.
Je ne peux pas créer un code html valide, si ng-repeat
est utilisé sur un élément, comme aucun type d'élément répété est autorisé entre <tbody>
et <tr>
.
Par exemple, si j'ai utilisé ng-repeat sur <span>
,, je voudrais obtenir:
<table>
<tbody>
<span>
<tr>...</tr>
</span>
<span>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</span>
<span>
<tr>...</tr>
<tr>...</tr>
</span>
</tbody>
</table>
Ce qui n'est pas valide html.
Mais ce dont j'ai besoin pour être généré est:
<table>
<tbody>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
où la première ligne a été généré par le premier élément du tableau, les trois prochaines par la deuxième et la cinquième et la sixième par le dernier élément du tableau.
Comment puis-je utiliser ng-repeat de telle manière que l'élément html à laquelle il est lié "disparaît" au cours de rendu?
Ou est-il une autre solution?
Clarification: La structure générée devrait ressembler à ci-dessous. Chaque élément du tableau peut générer entre 1 et 3 lignes de la table. La réponse devrait idéalement soutien de 0 à n lignes par l'élément de tableau.
<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>