这看起来很容易,但是我的 fullCalendar 在它自己的模板中,因此我无法从任何有用的地方访问 calendar = $('#calendar').fullCalendar() 方法。
更具体地说,我如何从其他来源/模板访问所有 calendar.js 信息?
这是我的重新渲染函数
if(calendar) {
calendar.refetchEvents();
//Changes background color of days with events
$('.fc-day').removeClass('has-event');
var eventList = $('#calendar').fullCalendar('clientEvents');
for (var i = 0; i < eventList.length; i++){
var date = eventList[i]._start;
var formattedDate = $.fullCalendar.formatDate(date, "yyyy-MM-dd");
$('[data-date="' + formattedDate + '"]').addClass('has-event');
}
}
最佳答案
解决方案是使用 fullCalendar 的 dayRender 方法。每次日历更改时,它都会自动循环并渲染每个日历日,因此您可以按如下方式进行简单的逻辑渲染更改:
dayRender: function(date, cell) {
var collectionValue = collection.find({key: value});
for (var i = 0; i < collectionValue.length; i++) {
if (date == collectionValue.value) {
//code here
}
}
}
这将允许您在发生任何变化时自定义每一天的渲染。
关于javascript - 在 Meteor 中更改 URL 后重新呈现 fullCalendar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34248474/