2

当我选择一个日期或时间时,它不会立即在我的模式中改变。只有在我第二次选择日期(第一次选择的日期得到更新)后,更改才会反映出来。有什么线索吗??

<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(函数(日期){

// $scope.display.completionDate = $filter('date')(new Date(date));

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

});

};

4

1 回答 1

0

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

$scope().$apply(function(){
  $scope.dateSelected=date.getDate()+"-"+(1+date.getMonth())+"-"+date.getFullYear();
  b.Start_Booking_Date=$scope.dateSelected;
});
于 2014-12-16T16:20:55.440 回答