Nano Hash - криптовалюты, майнинг, программирование

Разбор модели AngularJS без события пользовательского ввода

Я использую datetimepicker и dateTimeInput в моем приложении;

//my input
<input data-ng-model="order.startDate" data-date-time-input="DD/MM/YYYY hh:mm" data-date-formats="['DD/MM/YYYY hh:mm', 'D/M/YYYY', 'D/M/YYYY h:mm', 'D/M/YYYY h.mm']" type="text" class="field start-field font-l inline numeric" ng-focus="datetime.order.start = true" />
//my datetimepicker
<datetimepicker id="datetime-order" data-on-set-time="datetime.order.start=false" data-ng-model="order.startDate" data-datetimepicker-config="{ minView: 'hour'}"></datetimepicker>

Ввод и средство выбора даты и времени связаны вместе моделью data-ng, поэтому, когда я выбираю дату из средства выбора даты и времени, значение форматируется и отображается на входе.

data-model-type="YYYY-MM-DDTHH:mm:ss" во входных данных добавляется для адаптации значения модели в совместимом формате для моего API, но это не работает: когда я выбираю дату из datetimepicker, модель ввода не форматируется с использованием заданных параметров, а вместо этого форматируется в стандартном формате данных. Атрибут типа модели работает только тогда, когда непосредственно на входе есть пользовательское событие, за которым следует событие размытия.

Я попытался добавить наблюдателя к входному значению и заставить выполнение $parsers обновить $viewValue

//inside dateTimeInput directive
   scope.$watch(function(){
 return element.val();
}, function(){
 controller.$setViewValue(controller.$viewValue);
});

но не сработало, а затем я попытался смоделировать действие пользователя на вводе, обновив значение элемента, а затем инициировав событие размытия

scope.$watch(function(){
     return element.val();
    }, function(){
     element.val(controller.$viewValue);
     element.triggerHandler('input');
    });

но это тоже не сработало.

Как я могу вручную заставить синтаксические анализаторы отформатировать мою модель ввода сразу после того, как я выберу дату из таймпикера?


Ответы:


1

Я решил просто настроить модель datetimepicker вместо анализа входной модели:

<datetimepicker ... data-datetimepicker-config="{ minView: 'hour', **modelType: 'YYYY-MM-DDTHH:mm:ss'**}"></datetimepicker>
08.02.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..