Gibt es, wie der Titel der Frage sagt, eine Möglichkeit, die Objekteigenschaften eines Schnurrbartes / Lenkers zu durchlaufen ?
Also mit
var o = {
bob : 'For sure',
roger: 'Unknown',
donkey: 'What an ass'
}
Kann ich dann in der Template-Engine etwas tun , das äquivalent wäre?
for(var prop in o)
{
// with say, prop a variable in the template and value the property value
}
?
{{#each this}}
. Ihre Auswahl an Begriffen ist ebenfalls verwirrend (was macht ein Objekt zur "obersten Ebene" und ein anderes nicht? Was sind genau "vordefinierte" Schlüssel? Usw.), daher möchten Sie diese Konzepte möglicherweise erneut betrachten.Es ist eigentlich ganz einfach als Helfer zu implementieren:
Dann benutze es so:
quelle
BEARBEITEN: Der Lenker verfügt jetzt über eine integrierte Methode, um dies zu erreichen. siehe die ausgewählte Antwort oben. Bei der Arbeit mit normalem Schnurrbart gilt weiterhin Folgendes.
Moustache kann Elemente in einem Array durchlaufen. Daher würde ich vorschlagen, ein separates Datenobjekt zu erstellen, das so formatiert ist, dass Moustache damit arbeiten kann:
Nun wäre Ihre Moustache-Vorlage ungefähr so:
Lesen Sie hier den Abschnitt "Nicht leere Listen": https://github.com/janl/mustache.js
quelle
Dies ist die Antwort von @ Ben, die für die Verwendung mit Ember aktualisiert wurde. Beachten Sie, dass Sie sie verwenden müssen
Ember.get
da der Kontext als Zeichenfolge übergeben wird.Vorlage:
quelle
Die Antwort von @ Amit ist gut, da sie sowohl im Schnurrbart als auch im Lenker funktioniert.
In Bezug auf Nur-Lenker-Lösungen habe ich einige gesehen und ich mag den
each_with_key
Block-Helfer unter https://gist.github.com/1371586 am besten.'key'
oder'property'
usw. verwenden.quelle
Vielen Dank für Bens Lösung, meinen Anwendungsfall, um nur bestimmte Felder der Reihe nach anzuzeigen
mit Objekt
Code:
Quellobjekt:
Vorlage:
Ausgabe:
quelle
Dies ist eine Hilfsfunktion für MoustacheJS, ohne die Daten vorformatieren und stattdessen beim Rendern abrufen zu müssen.
Vorlage:
Ausgänge:
(Die Reihenfolge kann zufällig sein - es ist eine Karte.) Dies kann nützlich sein, wenn Sie das gewünschte Kartenelement kennen. Achten Sie einfach auf falsche Werte.
quelle
Ich habe eine alte Version verwendet
1.0.beta.6
des Lenkers verwendet. Ich glaube, irgendwo zwischen 1.1 und 1.3 wurde diese Funktionalität hinzugefügt. Durch die Aktualisierung auf 1.3.0 wurde das Problem behoben. Hier ist die Verwendung:Verwendung:
quelle