gpt4 book ai didi

javascript - 动态添加事件到事件源

转载 作者:行者123 更新时间:2023-11-28 08:02:50 25 4
gpt4 key购买 nike

感谢您的项目!真的很不错!

我目前正在尝试将全日历从 v1 升级到 v2。感谢升级到 v2 页面文档,我修复了所有主要问题。

我现在陷入了一个概念问题......

我的日历显示用户的事件。每个用户都由一个事件源代表。事件源基本上是事件数组。当我为用户添加事件时,我希望它以动态方式添加到用户的事件源中。这样我就可以在源和日历上显示的事件之间始终保持完全匹配。

我在 v1 中成功实现了这个用例,如下所示:

private void addEventToSource(Event event) {
// get user
String userId = event.getUserId();
// get source for user (sources is a map user -> JsonObject)
JSONObject source = sources.get(userId);
// get the list of events
JSONArray array = (JSONArray)source.get("events");
// add event at the end of the list
array.set(array.size(), createJsonEvent(event));
// refetch events from all sources
refetchEvents();

}

此代码运行良好,因为用户的来源之前已被全日历 js 知晓:

private static native void addSource(String calendarId, JavaScriptObject source) /*-{
$wnd.jQuery("#"+calendarId).fullCalendar('addEventSource', source);

}-*/;

在内部,我的所有更新都是通过 JSON 操作在源对象上完成的。当我重新获取事件时,所有用户的来源都是最新的,并在日历上很好地显示。

但是,此代码在 v2 上不起作用。看来我发送到完整日历的源与内部用于显示事件的源不同。我对源的所有更新都不会应用于内部数据,因此在日历上不可见。

有没有办法获取所使用事件的内部来源?有想法实现这样的用例吗?也许我错过了什么...提前致谢!

朱利安

最佳答案

您可以查看以下内容:

$('#calendar').fullCalendar('removeEventSource', source)
$('#calendar').fullCalendar('refetchEvents')
$('#calendar').fullCalendar('addEventSource', newSource)
$('#calendar').fullCalendar('refetchEvents');

您甚至可以删除所有事件并根据需要将它们添加回来。这取决于你在做什么。 http://fullcalendar.io/docs/event_data/removeEvents/

顺便说一句,Julian - 您很可能通过发布 Java 而不是 Javascript 来吓跑响应者。发布更多 JavaScript 代码以获得更准确的答案。

关于javascript - 动态添加事件到事件源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25172219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com