2014-01-27 2 views
3

저는 정말 좋아하는 Angular-UI의 달력을 사용하고 있습니다. 그러나 늦은 바인딩 문제가 있습니다.각도 UI 달력 늦은 바인딩?

이 지침은 다음과 같이이다 :

<div ui-calendar="uiConfig.calendar" ng-model="eventSources" calendar="myCalendar" class="cal-self panel panel-custom"> 

eventSources

는 상당한 서버 측 API 요청에서 비롯됩니다. 달력은 이미 페이지에 렌더링 된 후에 요청이 항상 완료됩니다.

늦은 시각 일 수있는 아이디어가 있으십니까?

답변

2

다음을 수행하여이 작업에 성공했습니다. ui-calendar의 저장소에있는 현재 소스 파일의 행 번호를 알려 드리겠습니다. getFullCalendarConfig 호출 할 후 : - ~ 라인 (203) 당신은 eventWatcher.subscribe(scope...에 전달하는 기능을 수행 내부 $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}); 
}; 

후 주입해야합니다 : ~ 라인 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을 만들었습니다. 기본적으로 v0.1.2 | 3 시대의 단순화 된/mangled ui-calendar 지시문이 있습니다. 그러나, 그것 (그것은 많은 입증 된) 자신의 장치와 함께 fullcalendar 기능으로 아주 잘 그것으로 지침이 '각기둥화된'것이라고 (IMHO) 말할 수 있습니다.

+0

아쉽게도 이것은 작동하지 않았습니다. – claydiffrient

+0

플 런커를 추가했습니다.이 솔루션이 도움이되기를 바랍니다. – calebboyd