【问题标题】:FullCalendar javascript - refetchEvents not updating calendarFullCalendar javascript - refetchEvents 不更新日历
【发布时间】:2016-02-12 18:54:26
【问题描述】:

当我使用新事件更新“事件”对象并调用 calander.fullCalendar('refetchEvents') 时,日历不会刷新。

例子:

events = [ { title  : 'event1', start  : '2015-11-01' } ];
calendar = jQuery("#calendar").fullCalendar({ events: events });
events = [ { title  : 'event2', start  : '2015-11-02' } ];
console.log(events);
calendar.fullCalendar('refetchEvents');

即使我希望出现“event2”,但仍然只显示“event1”。

http://jsfiddle.net/u1fjfbzw/

【问题讨论】:

    标签: javascript fullcalendar


    【解决方案1】:

    让 event1 和 event2 都显示的简单方法是再次添加 events 数组作为事件源。 http://jsfiddle.net/u1fjfbzw/1/

    events = [ { title  : 'event1', start  : '2015-11-01' } ];
    calendar = jQuery("#calendar").fullCalendar({ events: events });
    events = [ { title  : 'event2', start  : '2015-11-02' } ];
    
    /* This will make it show up */
    calendar.fullCalendar('addEventSource', events);
    
    calendar.fullCalendar('refetchEvents');
    

    代码中的“事件”数组与 fullCalendar 的内部事件是分开的。从 fullcalendar.js 2.4.0:

    else if (typeof sourceInput === 'object') {
        source = $.extend({}, sourceInput); // shallow copy
    }
    

    【讨论】:

    • 谢谢。 'refetchEvents' 在那个时候甚至会做任何事情吗?好像没必要。
    • 不,不需要;我忽略了在documentation 中 - addEventSource 自动从源中获取事件。
    • 好的,所以要清除事件,我将使用 removeEvents,然后使用 addEventSource。 jsfiddle.net/u1fjfbzw/3 我还是不明白“refetchEvents”的意义,我以为它会那样做。
    • 我相信 refetchEvents 主要在使用 json 提要或函数作为事件源时有用。 Here's a function based demo
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多