Angular Bootstrap datepicker自定义类

Tim*_*979 5 angularjs angular-ui-bootstrap bootstrap-datepicker

我正在使用Angular和UI Bootstrap Datepicker(https://angular-ui.github.io/bootstrap/),我正在尝试更新日期类,以显示使用现有customClass在特定日期发生的事情.当传递的日期是同步但使用$ resource不是异步时,这可以正常工作.

HTML

<uib-datepicker custom-class="getDayClass(date, mode)" ng-model="dt" min-date="minDate" show-weeks="false" starting-day="1" class="well well-sm" ng-change="selectDateChange()"></uib-datepicker>
Run Code Online (Sandbox Code Playgroud)

JS

$scope.getDayClass = function (date, mode) {

    if ($scope.myCalendarEvents.length > 0) {

        if (mode === 'day') {

            var dayToCheck = new Date(date).setHours(0, 0, 0, 0);

            for (var i = 0; i < $scope.myCalendarEvents.length; i++) {

            var currentDay = new Date($scope.myCalendarEvents[i].startDate).setHours(0, 0, 0, 0);

            if (dayToCheck === currentDay) {

                return "full";

            }
        }

    }

    return '';
}               

};
Run Code Online (Sandbox Code Playgroud)

查看异步调用的示例(ps.这不是我的Plnkr):

http://plnkr.co/edit/h8PxWfxSEtZuVCct00mD?p=preview

小智 4

我遇到了同样的问题,为了解决它,我在包含 uib-datepicker 的元素中放置了一个 ng-if="variable" 。

“变量”应该是 myCalendarEvents,并且当显示 uib-datepicker 时数据可用