Um für jedes Element eines Arrays eine bestimmte Struktur zu erzeugen stellt Handlebars den each-Block bereit. Dies kann zum Beispiel verwendet werden um Listen aufzubauen.
Innerhalb des each-Blocks werden Platzhalter auf dem aktuellen Objekt ausgelesen. Über this kann das aktuelle Objekt referenziert werden. Wenn innerhalb der Schleife auf einen Platzhalter außerhalb des Objektes zugegriffen werden soll, muss eine pfadähnliche Notation mit ../ verwendet werden. Um leere Arrays gesondert zu behandeln kann ein each-Block auch einen else-Zweig enthalten.
Template:
<ul>
{{#each authors}}
<li>{{../nameLabel}} {{firstName}} {{lastName}}</li>
{{else}}
No authors found
{{/each}}
</ul>
Daten:
{
authors: [{
firstName: 'John',
lastName: 'Doe'
}, {
firstName: 'Jane',
lastName: 'Doe'
}],
nameLabel: 'Name:',
}
Ergebnis:
<ul>
<li>Name: John Doe</li>
<li>Name: Jane Doe</li>
</ul>