Cela peut sembler une question idiote mais je n'arrive pas à trouver la réponse nulle part.
Je frappe cette API Web qui renvoie un tableau d'objets au format JSON:
La documentation de Handlebars montre l'exemple suivant:
<ul class="people_list">
{{#each people}}
<li>{{this}}</li>
{{/each}}
</ul>
Dans le contexte de:
{
people: [
"Yehuda Katz",
"Alan Johnson",
"Charles Jolley"
]
}
Dans mon cas, je n'ai pas de nom pour le tableau, c'est juste l'objet racine de la réponse. J'ai essayé d'utiliser {{#each}}
sans succès .
Première utilisation du guidon ... Que me manque-t-il?
METTRE À JOUR
Voici un violon simplifié pour vous montrer ce que je demande: http://jsfiddle.net/KPCh4/2/
Les guidons nécessitent-ils que la variable de contexte soit un objet et non un tableau?
arrays
loops
each
handlebars.js
emzero
la source
la source
Réponses:
Vous pouvez passer
this
à chaque bloc. Voir ici: http://jsfiddle.net/yR7TZ/1/la source
{{#each people}}
à l'intérieur de la boucle interne{{#each this}}
? J'aime{{people@index}}
Ce violon a à la fois
each
et json direct. http://jsfiddle.net/streethawk707/a9ssja22/ .Voici les deux façons d'itérer sur un tableau. L'une consiste à passer directement par json et l'autre à nommer le tableau json tout en le passant au détenteur de contenu.
Eg1: L'exemple ci-dessous appelle directement la clé json (data) à l'intérieur de la variable small_data.
En html, utilisez le code ci-dessous:
Le ci-dessous peut être placé dans l'en-tête ou le corps du html:
Celui ci-dessous est prêt pour le document:
Le ci-dessous est le json:
Enfin, attachez le json au support de contenu:
Exemple 2: itération utilisant chacun.
Considérez le json ci-dessous.
En passant le json au détenteur de contenu, nommez-le simplement de cette manière:
Et le modèle ressemble à:
la source
Je voulais dire dans l'
template()
appel ...Il vous suffit de transmettre les résultats en tant qu'objet. Alors au lieu d'appeler
faire
et utilisez
{{#each apidata}}
dans votre code de modèledémo sur http://jsfiddle.net/KPCh4/4/
( suppression du
if
code restant qui s'est écrasé )la source
{{#each this}}
est la bonne forme.Les guidons peuvent utiliser un tableau comme contexte. Vous pouvez utiliser
.
comme racine des données. Ainsi, vous pouvez parcourir vos données de tableau avec{{#each .}}
.la source
Utilisation
this
et{{this}}
. Voir le code ci-dessous dans node.js:Sortie du journal de la console:
la source