12
Ich möchte ein Datum in Knockout-Vorlage formatieren. Das Datum wird derzeit wieder alsFormatierungsdatum in Knockout-Vorlage
2013-07-04T00:00:00
Ich mag wäre es wie
07/04/2013
hier angezeigt werden soll, wird die Bindung Ich bin mit
<td data-bind="text: FirstDate">
ihre Standard sind Formatierungseigenschaften in Knockouts Vorlage?
Es gibt nichts in Knockout in Bezug auf Datumsformatierung gebaut oder im allgemeinen Formatierung . Sie müssen dafür eine dritte Partei-Bibliothek wie [moment.js] (http://momentjs.com/) verwenden. – nemesv
Dank @NemesV Ich habe moment.js enthalten.
Antwort
Es ist nichts in Bezug auf Datumsformatierung oder Formatierung im Allgemeinen in Knockout eingebaut. Die
text
Bindung konvertiert nur den Eigenschaftswert in einen String. Wenn Sie eine benutzerdefinierte Formatierung wünschen, müssen Sie dies selbst tun.Das Arbeiten mit Datumsangaben ist in JavaScript nicht so einfach, also sind Sie wahrscheinlich besser mit einer Drittanbieter-Bibliothek wie moment.js dafür. Es ist sehr einfach zu bedienen und es kann Ihre Daten mit der
format
method formatieren. Es ist im Format'L'
für Ihre erforderliche Monatszahl, Tag des Monats, Jahresformatierung eingebaut.Sie können Moment js in Ihrem View-Modell verwenden oder direkt in Ihre Bindung wie:
Oder Sie können eine benutzerdefinierte Bindung Handler erstellen, die diese Formatierung Logik kapselt.
Hinweis: Stellen Sie sicher, dass
()
auf IhrerFirstDate
Eigenschaft verwendet wird, wenn es einko.observable
in Ihrem Datenbindungsausdruck ist, um seinen Wert zu erhalten.Quelle
2013-07-03 19:05:49 nemesv
Große Antwort :). –
Was ist, wenn wir auch Stunden und Minuten anzeigen möchten? –
@lola Die verfügbaren Formatoptionen sind in der Dokumentation zu moment.js aufgelistet: http://momentjs.com/docs/#/displaying/format/ – nemesv
Ich verwende moment.js in einer modifizierten Version von Stephen Redd's date extender. Es sieht so aus, das ist ein wenig sauberer als eine Funktion in einer Datenbindung aufrufen.
Quelle
2013-07-07 22:19:06
Sie können auch MomentJs verwenden einen Extender zu erstellen:
Viewmodel:
http://momentjs.com/docs/#/displaying/format/
Quelle
2017-05-09 19:07:59 Mason240
Verwandte Themen