2015-03-25 56 views

回答

0

我利用了事實,即在日曆的視圖開關上,Arshaw日曆可以使用事件功能(http://fullcalendar.io/docs/event_data/events_function/)。

首先將服務中重複事件的陣列組裝成陣列的7插槽陣列,每週的每一天一個插槽。把它放在範圍內。然後,當您打開或切換日曆視圖時,從函數的開始日期到結束日期進行迭代,並插入與您的重複類型相匹配的事件。

function eventFunction(start, end, timezone, callback) { 
    var events = []; 
    for(var date = start; date <= end; date.setTime(date.getTime() + MS_PER_DAY)){ 
     _.forEach($scope.calendar.repeating[date.getDay()], function(repeater){ 
      var repeaterStart = date.getTime() + // date 
       repeater.start - new Date(repeater.start).setHours(0,0,0,0); // time 
      events.push({ _id: repeater.id, start: new Date(repeaterStart), title: repeater.headline}) 
     }) 
    } 
    callback(events); 
}