Angularjs ui日历单元格背景颜色首次未显示

Angularjs ui日历单元格背景颜色首次未显示,angularjs,fullcalendar,ui-calendar,Angularjs,Fullcalendar,Ui Calendar,我正在尝试从Rest中获取日期列表,并使用dayRender更改这些日期的背景色。但是,当我尝试这样做时,颜色并不是第一次更改。如果我下个月返回到下个月,它将非常有效。下面是一些屏幕截图,以使其更清晰。 当我加载页面时 当我从六月搬到七月 什么时候搬回六月 这是我的代码。rest/leave/holidayList是从db检索日期的RESTURL app.factory('calendarSer',['$http','$rootScope','uiCalendarConfig',函数($h

我正在尝试从Rest中获取日期列表,并使用dayRender更改这些日期的背景色。但是,当我尝试这样做时,颜色并不是第一次更改。如果我下个月返回到下个月,它将非常有效。下面是一些屏幕截图,以使其更清晰。 当我加载页面时

当我从六月搬到七月

什么时候搬回六月

这是我的代码。rest/leave/holidayList是从db检索日期的RESTURL

app.factory('calendarSer',['$http','$rootScope','uiCalendarConfig',函数($http,$rootScope,uiCalendarConfig){
返回{
displayCalendar:函数($scope){
$http.get(“rest/leave/holidayList”,{}).success(函数(数据、状态、标题、配置){
$scope.holidayList=数据;
log($scope.holidayList);
}).error(函数(数据、状态、标题、配置){
警报(“错误”);
});
$calendar=$(“[ui calendar]”);
变量日期=新日期(),
d=日期。getDate(),
m=date.getMonth(),
y=日期。getFullYear();
$scope.changeView=函数(视图){
$calendar.fullCalendar('changeView',view);
};
var m=null;
如果($scope.selective==“是”){
m=真;
}否则{
m=假;
}
/*配置对象*/
$scope.uiConfig={
日历:{
朗:“达”,
身高:400,
是的,
可选:m,
标题:{
左:“月基本周基本日”,
中心:'标题',
右图:“今天上一个,下一个”
},
eventClick:函数(日期、jsEvent、视图){
$scope.alertMessage=(单击了date.title+);
警报(“单击”+日期标题);
},
选择:功能(开始、结束、全天){
var obj={};
obj.startDate=start.toDate();
obj.endDate=力矩(end-1*24*3600*1000)。格式('YYYY-MM-DD');
$rootScope.selectionDate=obj;
$(“#modal1”).openModal();
//日历。完整日历(“取消选择”);
},
dayRender:函数(日期、单元格){
var today=新日期();
今天=时刻(今天);
var end=新日期();
end=力矩(end).toDate();
end.setDate(today.getDate()+7);
日期=时刻(日期).toDate();
angular.forEach($scope.holidayList,函数(值){
if(((时刻(值.假日日).format(“YYYY-MM-DD”)==时刻(日期).format(“yyy-MM-DD”))
{
css(“背景色”、“红色”);
}
});
},
eventRender:$scope.eventRender,
}
};
$scope.events=[];
$scope.eventSources=[$scope.events];
$http.get($scope.url{
是的,
参数:{}
}).then(功能(数据){
控制台日志(数据);
$scope.events.slice(0,$scope.events.length);
角度.forEach(数据.数据,函数(值){
console.log(value.title);
如果(value.approvalStatus==“已批准”){
变量k='#114727';
}否则{
k=“#b20000”
}
$scope.events.push({
标题:value.signum,
描述:value.signum,
开始:value.startDate,
结束:value.endDate,
全天:value.isHalfDay,
斯蒂克:没错,
状态:value.approvalStatus,
背景颜色:k
});
});
});
}
}

}]);记住REST调用是异步的。只需将所有设置颜色的代码放入承诺中,这样当REST服务
REST/leave/holidayList
响应时,您就可以绘制颜色。如果需要,可以使用嵌套承诺

下面是一些代码:

$http.get('rest/leave/holidayList').then(function(response) {
     // success 
     $scope.holidayList = data;

     /* config object */
     $scope.uiConfig = {
         calendar: {
           /* calendar code */
         }
     }

}, function(response) {
    // error handler
});
要比较“success”和“then”的用法,请查看: