Ich habe angefangen, mustache.js zu benutzen und bisher bin ich sehr beeindruckt. Obwohl zwei Dinge mich verwirren. Der erste führt weiter zum zweiten, also ertragen Sie mit mir.
Mein JSON
%Vor%Meine Handhabungsfunktion
%Vor%Q1 Wie Sie sehen können, muss mein TargetDate analysiert werden, aber ich bin nicht sicher, wie ich das in meiner aktuellen Funktion machen soll.
Q2 Angenommen, ich möchte vor dem Rendern einige Funktionen oder Formatierungen für eines oder mehrere meiner Objekte durchführen. Wie kann ich das am besten tun?
Ich habe Moustache auch für meine Projekte verwendet, da es über Client / Server freigegeben werden kann. Was ich getan habe, war die Formatierung aller Werte (Daten, Währung) in Strings serverseitig, so dass ich mich nicht auf Javascript-Hilfsfunktionen verlassen muss. Dies funktioniert jedoch möglicherweise nicht gut für Sie, wenn Sie diese Werte clientseitig mit diesen Werten vergleichen.
Sie sollten sich auch mit handlebars.js beschäftigen, die im Wesentlichen Mustache sind, aber mit Erweiterungen, die bei der clientseitigen Formatierung hilfreich sein können (und mehr). Der Verlust hier ist, dass Sie wahrscheinlich keine serverseitige Implementierung von Lenkern finden werden, wenn das für Sie wichtig ist.
Sie können ein "Lambda"
verwenden %Vor%Dann im Markup:
%Vor%Vom Link:
Wenn der Wert ein aufrufbares Objekt ist, z. B. eine Funktion oder ein Lambda, wird das Objekt aufgerufen und der Textblock übergeben. Der übergebene Text ist der Literalblock, nicht gerendert.
Ich habe eine kleine Erweiterung für Moustache.js erstellt, die die Verwendung von Formatierern innerhalb von Ausdrücken wie {{expression | Formatierer}}
Sie müssten sowieso eine Funktion erstellen, die Ihren Datumswert wie folgt parst:
%Vor%Und dann fügen Sie einfach den Formatierer zu Ihren Ausdrücken hinzu:
%Vor%Sie können den Code von hier herunterladen: Ссылка
Es ist schon lange her, aber auf der Suche nach genau das gleiche. Mit Mustachejs (jetzt) können Sie Funktionen der übergebenen Daten aufrufen und nicht nur das; In der Funktion ist der Wert von this
der Wert, der in einem Abschnitt wahr ist.
Wenn meine Vorlage so ist:
%Vor%Und Daten wie folgt:
%Vor%Sie können den Zeitstempel mit einfachen String-Methoden erhalten:
%Vor%Das hängt natürlich davon ab, dass Ihr Zeitstempel jedes Mal dieselbe Länge hat. Eine andere Option ist:
%Vor%Diese Techniken sind nicht spezifisch für Moustache und können verwendet werden, um Daten für jede Bibliothek zu bearbeiten. Weitere Informationen finden Sie in der Mozilla Developer Center-Dokumentation zum Teilstring .
Tags und Links string json mustache date-parsing