Angular Bootstrap 日期选择器 - 禁用日期

Angular Bootstrap datepicker - date disabled

我有一个带有 disabledDates 功能的 AngularUI Bootstrap 日历

<uib-datepicker ng-model="date" ng-change="change()"  date-disabled="disabledDates(date,mode)"></uib-datepicker>

这是函数:

 $scope.disabledDates = function (date, mode) {
                if ($scope.daysAvailable != null) {
                    return mode === 'day' && $scope.daysAvailable.indexOf(date.getDay() + 1) == -1;
                }
            }

$scope.daysAvailable 通过 $http 请求从服务器加载

 $scope.init = function () {
    return $http.get('/OrderEntry/GetAvailableDays', { params: { method: shipMethod, state: state, zip: zip } }).then(function (data) {
        $scope.daysAvailable  data.data;
    });
}

问题是我的 HTML 正在加载(并在结果从服务器返回并加载到控制器之前调用 disabledDates() init()

如何在数据返回之前阻止日历加载?

您只能在 daysAvailable 到达后显示日期选择器:

<div ng-show="daysAvailable">
    <uib-datepicker  ng-model="date" ng-change="change()"  date-disabled="disabledDates(date,mode)"></uib-datepicker>
</div>