我正在使用jquery fullcalendar,效果很好。我的事件来自 ajax 调用并以 json 形式返回。
我试图弄清楚是否有一种方法可以从客户端添加事件而不刷新整个服务器。
我有能力在我的代码中添加一个新事件(将它添加到我的数据库中),但我知道如何刷新 UI 以显示这个新事件的唯一方法是调用 refetchevents (但这会重新加载该月的所有内容)服务器。
无论如何我可以坚持所有客户端的其他事件以避免整月的事件刷新?
我看到我可以通过 removeEvents 方法(使用 id 过滤器)一一删除事件,但我没有看到添加事件的等价物。
更新:
我有一个后续问题,给出了以下两个都有效的答案。(创建另一个问题没有意义)。我想看看推荐的在客户端“刷新”单个事件的方法。我试图简单地使用具有相同 ID 的事件调用“renderEvent”,但这会在日历上创建一个新事件。
我看到有:UpdateEvent方法,我认为这将是答案,但似乎这仅在您位于 eventClick 内时才有效(您不能只创建一个新的事件对象,设置 Id 并更改字段并调用更新。
http://arshaw.com/fullcalendar/docs/event_data/updateEvent/
是否有类似于下面的“添加客户端”事件逻辑的从客户端刷新事件的推荐方法?
现在我只是在这样的事件中删除和阅读:
$('#calendar').fullCalendar('removeEvents', data.Event.id);
$('#calendar').fullCalendar('renderEvent', data.Event, true);