我正在使用我非常喜欢的Angular-UI日历。但是,我遇到了后期绑定的问题。
指令是这样的:
<div ui-calendar="uiConfig.calendar" ng-model="eventSources" calendar="myCalendar" class="cal-self panel panel-custom">
eventSources
来自实质性的服务器端API请求。在日历已呈现到页面后,请求始终完成。
有任何关于让它能够迟到的想法吗?
答案 0 :(得分:2)
我通过以下方式取得了成功:我将在ui-calendar的repo上给出当前源文件的行号。致电getFullCalendarConfig
后执行:~line-203 - 您需要注入$timeout
var viewChanged = false,
oldViewDisplay = fullCalendarConfig.viewDisplay || fullCalendarConfig.viewRender;
delete fullCalendarConfig.viewDisplay;
fullCalendarConfig.viewRender = function(view){
if(oldViewDisplay)oldViewDisplay(view);
viewChanged = true;
$timeout(function(){viewChanged = false});
};
然后在传递给eventWatcher.subscribe(scope...
的函数内部执行:〜第255行
if (!viewChanged)
scope.calendar.fullCalendar('refetchEvents');
if (sourcesChanged === true) {
// Rerender the whole thing if a new event source was added/removed
scope.calendar.fullCalendar('rerenderEvents');
sourcesChanged = false;
// prevent incremental updates in this case
return false;
}
<强>更新强>
所以我做了plunker。 它基本上有一个简化/受损的ui-calendar指令(v0.1.2 | 3时代)。然而,可以说(恕我直言)这个指令“过度流浪”,因为fullcalendar功能很好地与它自己的设备(很多并且经过验证)。