12
Chcę sformatować datę w szablonie nokautu. Data jest obecnie zwracane jakoFormatowanie daty w szablonie nokautu
2013-07-04T00:00:00
Chciałbym to być wyświetlane jak
07/04/2013
Oto wiążące Używam
<td data-bind="text: FirstDate">
Czy ich domyślne właściwości formatowania w szablonie Knockout?
Nie ma nic zbudowany w Knockout dotyczące formatowania data lub formatowanie w ogóle . Trzeba użyć biblioteki stron trzecich, na przykład [moment.js] (http://momentjs.com/). – nemesv
Dzięki @nemesv Zawarłem plik moment.js.
Odpowiedz
Nie ma nic wbudowanego w odniesieniu do formatowania daty lub formatowania w ogóle w Knockout. Powiązanie
text
po prostu przekształca wartość właściwości na ciąg znaków, więc jeśli chcesz niestandardowe formatowanie, musisz zrobić to sam.Praca z datami nie jest tak łatwa w JavaScript, więc prawdopodobnie lepiej będzie użyć do tego biblioteki innej firmy, takiej jak moment.js. Jest bardzo prosty w użyciu i może formatować daty z
format
method. Jest zbudowany w formacie'L'
dla wymaganej liczby miesięcy, dnia miesiąca, roku formatowania.Można użyć js moment w Pana zdaniem model lub bezpośrednio w wiązaniu jak:
Albo można utworzyć niestandardowy wiążącej obsługi, które hermetyzuje tę logikę formatowania.
Uwaga: Upewnij się, że używasz
()
dla swojej właściwościFirstDate
, jeśli jest toko.observable
w wyrażeniu wiążącym dane, aby uzyskać jego wartość.Źródło
2013-07-03 19:05:49 nemesv
Świetna odpowiedź :). –
co jeśli chcemy również pokazać godziny i minuty? –
@lola Dostępne opcje formatu są wymienione w dokumentacji moment.js: http://momentjs.com/docs/#/displaying/format/ – nemesv
Używam pliku moment.js w zmodyfikowanej wersji Stephen Redd's date extender. Wygląda na to, że jest trochę czystszy niż wywołanie funkcji w powiązaniu danych.
Źródło
2013-07-07 22:19:06
Można również użyć MomentJs stworzyć przedłużacz:
ViewModel:
http://momentjs.com/docs/#/displaying/format/
Źródło
2017-05-09 19:07:59 Mason240
Powiązane problemy