2016-07-03 85 views
2

我使用以下代碼日期選擇器(角-UI)的初始值被未示出

<pre>Selected date is: <em>{{tournament.startDate | date:'fullDate' }}</em></pre> 
<input name=startDate" id="startDate" type="text" class="form-control" uib-datepicker-popup="{{format}}" ng-model="tournament.startDate" is-open="popup1.opened" 
         ng-required="true" close-text="Schließen"" 
         datepicker-options="dateOptions" alt-input-formats="altInputFormats" /> 
        <span class="input-group-btn"> 
         <button type="button" class="btn btn-default" ng-click="open1()"><i class="glyphicon glyphicon-calendar"></i></button> 
        </span> 

和我的控制器

$scope.tournament = Tournament.get({id: $routeParams.id}); 

    $scope.dateOptions = { 
     dateDisabled: false, 
     formatYear: 'yy', 
     maxDate: new Date(2020, 5, 22), 
     minDate: new Date(), 
     startingDay: 1 
    }; 

tournament.startDate的值在預示標記但不在輸入字段中。打開的日期選擇器顯示正確的日期。

這似乎是一個同步的問題,導致如果我改變控制器

$scope.tournament = new Object(); 
$scope.tournament.startDate = new Date(); 

的日期顯示在輸入字段中。

編輯:範圍填充正確的日期,但inputfield不顯示值。

感謝您的幫助 chokdee

+0

當同步沒有發生時,typeof(tournament.startDate)是什麼? – mkkhedawat

+0

不明白這個問題。 – chokdee

+0

您正在從服務器獲取scope.tournament。在你從服務器獲得價值之後,你可以做「console.log(typeof(tournament.startDate)」嗎? 看起來像是類型不匹配的情況。 – mkkhedawat

回答

3

通過mself發現,該REST服務給回一個字符串不是一個Date對象,將其轉換後,它的正常工作。

但在我看來,如果無法轉換給定的對象,angular-ui應該引發異常。

相關問題