dato la seguente matrice in proprietà del componente groups
:Come utilizzare i modelli Angular2 con * ngFor per creare una tabella con gli array annidati?
[
{
"name": "pencils",
"items": ["red pencil","blue pencil","yellow pencil"]
},
{
"name": "rubbers",
"items": ["big rubber","small rubber"]
},
]
Come creare una tabella HTML con tutti gli elementi, ciascuno in una riga? Il risultato atteso HTML:
<table>
<tr><td><h1>pencils</h1></td></tr>
<tr><td>red pencil</td></tr>
<tr><td>blue pencil</td></tr>
<tr><td>yellow pencil</td></tr>
<tr><td><h1>rubbers</h1></td></tr>
<tr><td>big rubber</td></tr>
<tr><td>small rubber</td></tr>
</table>
Il primo livello è facile:
<table>
<tr *ngFor="#group of groups">
<td><h1>{{group.name}}</h1></td>
</tr>
</table>
Ma ora devo iterare #item of group
. Il problema è che ho bisogno del nuovo <tr>
elementi dopo l'elemento </tr>
che definisce group
, non all'interno di.
Esiste una soluzione per questo tipo di problemi in Angular2 templating? Mi aspetterei qualche tag speciale che potrei usare al posto di <tr>
che non è scritto nella dom. Qualcosa di simile alle sfaccettature e ai frammenti in JSF.
È possibile aggiungere l'output HTML previsto come risultato. Non capisco cosa intendi per "dopo il''. –
Suppongo che sia necessario appiattire la struttura JSON nidificata prima nel codice. –
Sarebbe molto triste. Dovrei creare dati ridondanti e tenerlo sincronizzato :-( – Witek