угловая модель должна быть текстовой, а тип ввода должен быть временным

0

У меня есть модель, которая поставляется со значениями времени как text например, 10:00:00 что означает 10:00 AM. Теперь мне нужно, чтобы пользователь мог изменять эти значения, но это должен быть не просто input type="text", потому что было бы трудно изменить время для user на IOS. И использование type="time" не работает, потому что тогда модель должна быть объектом даты.

Любые идеи, как я могу сделать что-то дружелюбное и сохранить мой глупый формат модели?

Теги:
time
getter-setter

1 ответ

0

Это был правильный намек, большое спасибо. Здесь решение для других..

mainModule.directive('stupidTimeConverter', function() {

var directive = {};
directive.restrict = 'A';
directive.require = 'ngModel';

directive.link = function(scope, element, attrs, ngModel) {

    // Formatters change how model values will appear in the view
    ngModel.$formatters.push(function(value) {
        return moment(value, "HH:mm:ss").toDate();
    });

    // Parsers change how view values will be saved in the model
    ngModel.$parsers.push(function(value) {
        return moment(value).format("HH:mm:ss");
    });

};
return directive;
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню