我正在使用angular-ui datepicker,並且一切實際上都正常工作,但datepicker的初始狀態除外。當我選擇一個日期時,它看起來很好。請看下圖:angular-ui datepicker datepicker的初始狀態未格式化爲每個datepicker-popup
初始狀態
在選擇器
所以選擇了日期後,顯然我得到的的strigified版本在第一種情況下爲日期對象,在選擇日期後格式化。
標記
<input type="text" class="form-control"
id="birthday"
datepicker-options="datePickerOptions"
datepicker-popup="{{format}}"
data-ng-model="birthday"
data-is-open="opened"
data-ng-required="true"
data-close-text="Close"/>
<span class="input-group-btn">
<button type="button"
class="btn btn-default"
data-ng-click="open($event)">
<i class="fa fa-calendar"></i>
</button>
</span>
的控制器
var today = $scope.today = function today() {
$scope.birthday = $scope.client.birthday || new Date();
};
today();
$scope.clear = function clear() {
$scope.dt = null;
};
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.format = 'MMM d, yyyy';
$scope.datePickerOptions = {
'show-weeks': false
};
不是一個大問題,但將是非常好的,如果其需要的模型(爲每對文檔的日期對象)被格式化爲每個$scope.format
開始,而不是一個嚴格的日期對象。此外,不知道它有什麼不同,但這個日期選擇器是在一個模式。謝謝你的幫助!
UPDATE
看起來像我不是唯一一個遇到此,並且它與使用角1.3。 https://github.com/angular-ui/bootstrap/issues/2659
這並努力解決顯示問題,但它會將您的綁定模型var變成timestamp int而不是Date對象。如果在彈出窗口中點擊日期不會再次將其重新轉換爲Date對象,這意味着使用它的代碼首先需要執行麻煩的類型檢查。 – Fasermaler 2015-03-02 12:56:31