12
Sto per formattare una data nel modello di knockout. La data è in corso restituito comeFormatting Date in Knockout Template
2013-07-04T00:00:00
vorrei che per essere visualizzato come
07/04/2013
Qui è il legame che sto utilizzando
<td data-bind="text: FirstDate">
Sono le loro proprietà di formattazione di default nel modello di Knockout?
Non c'è nulla di costruito in Knockout per quanto riguarda la formattazione data o la formattazione in generale . È necessario utilizzare una libreria di terze parti come [moment.js] (http://momentjs.com/) per questo. – nemesv
Grazie a @nemesv ho incluso moment.js.
risposta
In Knockout non esiste nulla per quanto riguarda la formattazione della data o la formattazione in generale. L'associazione
text
converte semplicemente il valore della proprietà in stringa, quindi se si desidera la formattazione personalizzata è necessario farlo da soli.L'utilizzo delle date non è così semplice in JavaScript, quindi è meglio usare una libreria di terze parti come moment.js per questo. È molto semplice da utilizzare e può formattare le date con lo
format
method. È disponibile il formato'L'
per il numero del mese richiesto, il giorno del mese, la formattazione dell'anno.È possibile utilizzare js momento nella vista-modello o direttamente nel vostro legame come:
Oppure si può creare un gestore personalizzato vincolante che incapsula questa logica formattazione.
Nota: assicurarsi di utilizzare
()
sulla proprietàFirstDate
se è unko.observable
all'interno dell'espressione di associazione dati per ottenere il relativo valore.fonte
2013-07-03 19:05:49 nemesv
Ottima risposta :). –
cosa succede se vogliamo anche mostrare ore e minuti? –
@lola le opzioni di formato disponibili sono elencate nella documentazione moment.js: http://momentjs.com/docs/#/displaying/format/ – nemesv
Uso moment.js in una versione modificata di Stephen Redd's date extender. Sembra questo, che è un po 'più pulito di una funzione in un binding di dati.
fonte
2013-07-07 22:19:06
È inoltre possibile utilizzare MomentJs per creare un estensore:
viewmodel:
http://momentjs.com/docs/#/displaying/format/
fonte
2017-05-09 19:07:59 Mason240
Problemi correlati