Fullcalendar 是否从不显示添加具有源属性的新事件?

Fullcalendar 是否从不显示添加具有源属性的新事件?,fullcalendar,Fullcalendar,当我在传递给renderEvent的事件中指定source参数时,无法将事件添加到fullCalendar-我做错了什么 如果我指定一个源,则事件不会(永远)显示在日历上。。。看看上面的if语句中是否有cache.push(events)的位置不正确 (这里的场景是,当我添加新事件时,我希望它们成为特定源的一部分,而不是fullCalendar的内部“粘性”源) 谢谢 解释 不应指定源属性。 发件人: 源:事件源对象自动填充 对此事件来源的事件源的引用 我已经创建了一个可以检查源属性如何工作的:

当我在传递给
renderEvent
的事件中指定
source
参数时,无法将事件添加到fullCalendar-我做错了什么

如果我指定一个
,则事件不会(永远)显示在日历上。。。看看上面的
if
语句中是否有
cache.push(events)
的位置不正确

(这里的场景是,当我添加新事件时,我希望它们成为特定源的一部分,而不是fullCalendar的内部“粘性”源)

谢谢

解释 不应指定源属性。 发件人:

源:事件源对象自动填充

对此事件来源的事件源的引用

我已经创建了一个可以检查源属性如何工作的:

因此,如果您定义一个事件,如:

{
标题:“mytitle”,
开始:力矩(),
全天:错,
id:1,
描述:“我的源事件”
}
您可以在plunkr的控制台中检查事件是否接收到一个源属性,该属性自动填充了以下内容:

event.source
{
事件:数组[1],
类名:数组[0],
origArray:数组[1]
}  
提议的解决办法 因此,对于您的目标,您应该将事件定义为数组源中的项:

var mySource1=[{
标题:“来源1”,
开始:力矩(),
全天:错,
id:1,
描述:“我的活动1”
}];
var mySource2=[{
标题:“来源2”,
开始:力矩()。添加(1,'天'),
全天:错,
id:2,
description:“我从2开始的活动”
}];
要将它们附加到日历,您可以:

方案a 使用
eventSources
作为源数组,在日历中定义源,而不是事件:

$(“#日历”).fullCalendar({
(...)
事件来源:[mySource1,mySource2],
});
方案b 通过添加您的源代码

.fullCalendar('addEventSource',mysource);
备选案文c 正在更新事件源: 如果要将事件动态添加到特定源,唯一可以实现的方法是删除并再次添加源:

比如:

var myNewEvent:{
标题:“mytitle”,
开始:力矩(),
全天:错,
id:1,
描述:“我的源事件”
};
push(myNewEvent);
$('#myCalendar').fullCalendar('removeEventSource',mySource);
$('#myCalendar').fullCalendar('addEventSource',mySource);

老实说,我不喜欢这个C选项,但也许正是你需要的。亚当·肖(Adam Shaw)在这种情况下提出了解决方案。非常感谢您的回复。我完全理解。事实上,我的事件中99%都是您建议的数组源。但我也尝试动态添加新事件。我使用select/selectHelper在日历上滑动新区域,然后希望将它们添加到现有源,而不是fullCalendar中的“粘性”隐藏源。我正在使用renderEvent(如文档所述)动态添加一个新事件。请注意,文档(和源代码!)似乎预期将使用具有源代码值的新事件调用renderEvent!所以,很遗憾,我认为我的问题仍然存在!我在答案中添加了解决方案选项C。我不喜欢这个解决方案,但现在它是实现它的“唯一和官方”方式。谢谢,马里奥-看起来你的选择C是最好的答案。我想,当源代码被重新绘制时,我将不得不忍受闪烁,或者使用我自己修复的fullcalendar分支。再次感谢你帮我看这个!