只有在我的模态中第二次选择日期后,第一个日期才会更新

时间:2014-12-07 05:54:47

标签: angularjs cordova datepicker ionic

当我选择日期或时间时,我的模态不会立即改变。仅在我第二次选择日期(第一个选定日期更新)后,更改才会反映出来。 任何线索??

<div class="item  item-input">
    <div class="row">
        <div class="col">
             <i class="icon ion-ios7-calendar-outline placeholder-icon"></i>
             <span ng-model="bookCtrl.Start_Booking_Date" ng-click="showDatePicker()">{{ dateSelected }}</span>
        </div>
        <div class="col">
             <i class="icon ion-ios7-clock-outline placeholder-icon right"></i>
             <span class="right"  ng-click="showTimePicker()">{{ timeSelected }}</span>
        </div>
    </div>
</div>

我的showDatePicker()函数:

$ scope.showDatePicker =函数(){

$cordovaDatePicker.show({
date: new Date(),
mode: 'date',
allowOldDates : false

})。then(function(date){

// $ scope.display.completionDate = $ filter(&#39; date&#39;)(new Date(date));

if(!isNaN(date.getDate()))
{
    $scope.dateSelected=date.getDate()+"-"+(1+date.getMonth())+"-"+date.getFullYear();
    b.Start_Booking_Date=$scope.dateSelected;
}

});

};

1 个答案:

答案 0 :(得分:0)

在你的promise的then()中,将代码包装在$ scope。$ apply()中以确保angular知道更改。

$scope().$apply(function(){
  $scope.dateSelected=date.getDate()+"-"+(1+date.getMonth())+"-"+date.getFullYear();
  b.Start_Booking_Date=$scope.dateSelected;
});