AngularJS $formatter и $parser для поля ввода
Есть ли возможность также использовать $parser
а также $formatter
для поля ввода, а не только для директивы?
Это мое поле ввода (AngularJs DateTimePicker)
<input type="text"
class="form-control date"
name="date"
data-ng-model="vmModal.account.creationDate"
datepicker-popup="dd.MM.yyyy"
is-open="vmModal.openedDatePicker"
close-text="schließen"
current-text="heute"
clear-text="löschen"
datepicker-options="{startingDay: 1}"
placeholder="Datum">
[EDIT] На самом деле я не знаю, что делать, мне нужно строковое представление даты, потому что я показываю ее в другом месте приложения. Единственная возможность, которую я знаю, это иметь другое поле в моем объекте JavaScript, которое представляет объект даты.
1 ответ
Возможно, я неправильно понял вашу проблему, но из вашего РЕДАКТИРОВАНИЯ кажется, что вам нужно отобразить или использовать дату, выбранную с помощью ввода, в каком-то другом месте. Это стандартный материал для одной модели и нескольких видов. В вашем случае вы можете просто отобразить vmModal.account.creationDate
с другим форматом, который используется в DatePicker, используя угловой date
фильтр. Например, когда вы выбираете следующую дату в поле выбора даты: 25.12.2016
<em>{{vmModal.account.creationDate | date:'EEEE, dd MMMM yyyyy' }}</em>
должен отображать
Sonntag, 25 декабря 2016
Смотрите плункер в действии.
Обратите внимание, что вы можете указать альтернативные форматы даты для ручного ввода. В плункер я добавил alt-input-formats="['dd/MM/yy']"
, Пользователь теперь может войти 25.12.2016
или же 25/12/16
обе отформатированные даты будут проанализированы как объекты даты.