基本上,我的所有活动(至少有360个)都有队伍1 vs. 队伍2
或- vs. 队伍2
或队伍1 vs. -
占位符。然后,在初始渲染中,根据事件是否有一个或两个团队,事件会改变颜色。对于一个团队,使用橙色,对于两个团队,使用绿色。此外,单击事件会改变颜色。
但是,我主要关心的是提高渲染活动的性能。
在fullCalendar中,渲染性能非常差,我找不到任何解决此问题的方法。
因此,这是我的代码:
eventRender: function (event, element) {
$(element).append((event.teams[0] != null ? event.teams[0] : '-') + '</br> vs. </br>' + (event.teams[1] != null ? event.teams[1] : '-'));
if (event.teams.length === 1) {
$(element).css('background', 'orange');
}
else if (event.teams.length > 1) {
$(element).css('background', 'green');
}
}
我的主要问题是,当我点击事件以更改其颜色时,脚本会自动进入
eventRender
或eventAfterRender
事件,并且它的行为就像for
语句一样-它遍历事件,然后在循环落在单击的事件上时才执行我想对单个事件执行的操作。此外,在
eventClick
中,我调用了$('#myCalendar').fullcalendar('updateEvent',event)
,我认为这里存在一个bug,因为它会自动进入eventAfterRender
或eventRender
,再次遍历整个事件集合。即使
'updateEvent'
参数应该指示fullCalendar仅更新/渲染特定事件。是否有人对此有任何建议?