2015-05-19 3 views
5

sto tirando la biblioteca momentJS da una CDN nella mia app angolare:momentJS locale di default è zh-TW e non riesco a sovrascrivere

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script> 

La localizzazione predefinita dovrebbe essere inglese (' en '). Ma per qualche ragione, la locale predefinita nella mia app è 'zh-tw'. Vedo che questo era un problema (vedi here e here), ma era apparentemente risolto.

Anche se ho impostato il locale globale manualmente, esso viene ignorato:

Nel mio file index.html:

<script> 
    moment.locale('en'); 
</script> 

Nel mio regolatore angolare:

moment.locale('en'); 

L'unica cosa che funziona adesso è se imposto le impostazioni locali in ogni istanza di momento:

var moment1 = moment(myDate); 
moment1.locale('en'); 
var moment2 = moment(moment1).add(24, 'h'); 
moment2.locale('en'); 
+0

Ho avuto lo stesso problema ed è stato perplesso. Poi ho scaricato di nuovo moment.js (2.10.6 al momento della scrittura) e il valore predefinito è tornato a "en". Immagino che qualunque versione avessimo entrambi stava usando il default sbagliato. – Morpork

risposta

3

Se si utilizza angolare, di solito ciò che funziona per me è questo

.run(["moment", function(moment){ 
    moment.locale("en"); 
}]); 
+1

Ecco, questo funziona. Grazie. Sono confuso sul motivo per cui è necessario iniettare "momento". Perché non è sufficiente caricare il file JS in index.html? Non dovrebbe essere disponibile a livello globale? In ogni caso, grazie ancora. – AlexG

2

Sono consapevole a questa domanda è stata pubblicata l'anno scorso ma è degno di nota quanto segue per tutti gli utenti provenienti in tutto il zh-tw problema di formattazione.

Questo problema è comparso per me oggi mentre si lavora con il metodo di formattazione. Fortunatamente c'è una soluzione più permanente a questo problema negli ultimi giorni.

Il problema riscontrato è stato risolto in origine nel 2013 (circa) e un successivo aggiornamento è stato rilasciato. Per qualsiasi motivo il problema è tornato in un aggiornamento prima o dopo l'aggiornamento 2.10.3 ed è stato un problema da allora. Tuttavia, il 2 gennaio 2016 hanno rilasciato un aggiornamento che ha successivamente risolto il problema che le persone stavano avendo. L'aggiornamento a Moment 2.11.0 risolverà il linguaggio predefinito a zh-tw e lo ripristinerà di nuovo a en per impostazione predefinita.

Mentre la risposta accettata era la soluzione al momento, vi consiglio di aggiornare l'ultima versione di Moment dal mio punto di vista, è stato un po 'di trucco per risolvere il problema, tra le altre ragioni.

Visita il seguente link per tutte le modifiche in Momento 2.11.0, il problema che ti interessa è sotto ID #2735.

Moment 2.11.0 - Changelog

Problemi correlati