Надеюсь, кто-то может мне помочь! Я сделал директиву, вставляя плагин Jasny Bootstrap более конкретно в маска ввода-маски, и все идет хорошо!Vue js применить фильтр на v-модели в поле ввода
Теперь я создал настраиваемый фильтр, поддерживаемый моментом для форматирования поля даты!
Формат даты, который я получаю от моего backend-приложения, - это YYY-MM-DD, и я должен показать его в виде DD/MM/YYYY ... Я пробовал v-model="date | myDate"
, но это не сработало!
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>
Существует JSBin, если кто-то заинтересован!
Заранее благодарен!
EDIT: Объясняя лучше, что я жду =)
Когда страница первой загрузки вход получить значение 2015-06-26, и я хотел бы показать, что значение как DD/MM/YYYY так 26/06/2015! Он работает правильно только после того, как я начинаю набирать что-то!
«это не сработало правильно» недостаточно описательно. Пожалуйста, объясните *, как это работает неправильно. Что вы ожидали, и что он сделал вместо этого? –
Извините @MattJohnson! Просто добавлено лучшее объяснение внизу! Смотрите, понимаете ли вы, пожалуйста! –
Обратите внимание, что d/m/y и m/d/y являются двусмысленными, гораздо лучше использовать название месяца, например '10-Apr-2016'. – RobG