Dies mag eine dumme Frage sein, aber ich kann nirgendwo eine Antwort finden.
Ich treffe auf diese Web-API, die ein Array von Objekten im JSON-Format zurückgibt:
Die Lenkerdokumente zeigen das folgende Beispiel:
<ul class="people_list">
{{#each people}}
<li>{{this}}</li>
{{/each}}
</ul>
Im Zusammenhang mit:
{
people: [
"Yehuda Katz",
"Alan Johnson",
"Charles Jolley"
]
}
In meinem Fall habe ich keinen Namen für das Array, es ist nur das Stammobjekt der Antwort. Ich habe versucht, {{#each}}
ohne Glück zu verwenden.
Erstmalige Verwendung von Lenkern ... Was fehlt mir?
AKTUALISIEREN
Hier ist eine vereinfachte Geige, um Ihnen zu zeigen, was ich frage: http://jsfiddle.net/KPCh4/2/
Erfordert der Lenker, dass die Kontextvariable ein Objekt und kein Array ist?
arrays
loops
each
handlebars.js
Emzero
quelle
quelle
Antworten:
Sie können
this
an jeden Block übergeben. Siehe hier: http://jsfiddle.net/yR7TZ/1/quelle
{{#each people}}
innerhalb der inneren Schleife aufzurufen{{#each this}}
? Gefällt{{people@index}}
Diese Geige hat beides
each
und direkten json. http://jsfiddle.net/streethawk707/a9ssja22/ .Im Folgenden sind die beiden Möglichkeiten zum Iterieren über ein Array aufgeführt. Einer ist mit direkter JSON-Übergabe und ein anderer benennt das JSON-Array, während er an den Inhaltsinhaber übergeben wird.
Beispiel 1: Im folgenden Beispiel wird der JSON-Schlüssel (Daten) direkt in der Variablen small_data aufgerufen.
Verwenden Sie in HTML den folgenden Code:
Das Folgende kann in den Header oder Body von HTML eingefügt werden:
Das folgende Dokument ist fertig:
Das Folgende ist der json:
Zum Schluss den json an den Inhaltsinhaber anhängen:
Beispiel 2: Iteration mit jedem.
Betrachten Sie den folgenden json.
Während Sie den JSON an den Inhaltsinhaber weitergeben, benennen Sie ihn einfach folgendermaßen:
Und die Vorlage sieht aus wie:
quelle
Ich meinte in dem
template()
Anruf ..Sie müssen nur die Ergebnisse als Objekt übergeben. Also anstatt anzurufen
machen
und
{{#each apidata}}
in Ihrem Vorlagencode verwendenDemo unter http://jsfiddle.net/KPCh4/4/
( entfernt einen Restcode
if
, der abgestürzt ist )quelle
{{#each this}}
ist die richtige Form.Lenker können ein Array als Kontext verwenden. Sie können
.
als Stamm der Daten verwenden. So können Sie Ihre Array-Daten mit durchlaufen{{#each .}}
.quelle
Verwenden von
this
und{{this}}
. Siehe Code unten in node.js:Konsolenprotokollausgabe:
quelle