2016-12-06 54 views
0

是否有可能將$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"> 

[編輯] 其實我也不知道該怎麼辦,我需要日期的字符串表示,因爲我展示它在別處應用程序。我知道的唯一可能就是在我的javascript對象中有另一個表示日期對象的字段。

+0

'$ parser'和'$ formatter'是'NgModelController'(https://docs.angularjs.org/api/ng/type/ngModel.NgModelController)的一部分,所以你如何訪問它們不在需要'ng-model'的指令中? – MiTa

回答

0

我可能錯過了你的問題,但是從你的編輯看來,你似乎需要在其他地方顯示或使用通過輸入選擇的日期。這是標準的東西,有一個模型和幾個意見。對於您的情況,您可以使用角度爲date的過濾器,以與日期選擇器中使用的格式不同的格式顯示vmModal.account.creationDate。 例如當您選擇的日期選擇以下日期:2016年12月25日

<em>{{vmModal.account.creationDate | date:'EEEE, dd MMMM yyyyy' }}</em> 

應顯示

桑塔格,25 Dezember 2016

見行動plunker

請注意,您可以指定手動輸入的備用日期格式。在plunker我加了alt-input-formats="['dd/MM/yy']"。用戶現在可以輸入25.12.201625/12/16,這兩個格式化日期都將被解析爲日期對象。