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&szlig;en"
 current-text="heute"
 clear-text="l&ouml;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обе отформатированные даты будут проанализированы как объекты даты.

Другие вопросы по тегам