Spero che qualcuno possa aiutarmi! Ho creato una direttiva che avvolge il plugin Jasny Bootstrap in modo più specifico con la maschera di input e tutto va bene!Vue js applica il filtro su v-model in un campo di input
Ora ho creato un filtro personalizzato supportato dal momento per formattare il campo della data!
Il formato di data che ricevo dall'applicazione back-end è YYY-MM-DD e devo mostrare sulla vista come GG/MM/AAAA ... Ho provato v-model="date | myDate"
ma non ha funzionato correttamente!
JS
Vue.directive('input-mask', {
params: ['mask'],
bind: function() {
$(this.el).inputmask({
mask: this.params.mask
});
},
});
Vue.filter('my-date', function(value, formatString) {
if (value != undefined)
return '';
if (formatString != undefined)
return moment(value).format(formatString);
return moment(value).format('DD/MM/YYYY');
});
var vm = new Vue({
el: 'body',
data: {
date: '2015-06-26',
}
});
HTML
<label>Date</label>
<input type="text" class="form-control" v-input-mask mask="99/99/9999" v-model="date">
<p>{{ date | myDate 'dd/mm/yyyy' }}</p>
V'è la JSBin se qualcuno è interessato!
Grazie in anticipo!
EDIT: Spiegando meglio quello che mi aspetto =)
Quando la pagina prima caricare l'ingresso ricevono il valore di 2015/06/26 e vorrei dimostrare che valore come GG/MM/AAAA così 26/06/2015! Funziona correttamente solo dopo aver iniziato a digitare qualcosa!
"non ha funzionato correttamente" non è abbastanza descrittivo. Si prega di spiegare * come * non ha funzionato correttamente. Cosa ti aspettavi e cosa invece ha fatto? –
Mi dispiace @MattJohnson! Ho appena aggiunto una spiegazione migliore in basso! Vedi se capisci per favore! –
Nota che d/m/ye m/d/y sono ambigui, molto meglio usare il nome del mese come '10-apr-2016'. – RobG