javascript - 在 Meteor 中更改 URL 后重新呈现 fullCalendar

标签 javascript meteor fullcalendar

这看起来很容易,但是我的 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/

相关文章:

javascript - Meteor - 无法在订阅中传递变量

javascript - Meteor collection.insert 回调返回新的id

使用 eventRender 时 Fullcalendar 不呈现颜色

javascript - Three.js - 如何判断一个点是否在一条直线上?

javascript - 使javascript推送菜单可滚动(无滚动条)

javascript - 动态创建的按钮上的单击事件

javascript - onclick 按钮,参数值来自文本区域

cordova - Geolocation.latLng() 在 android 中不起作用

jquery - FullCalendar:删除事件但无法更新此事件

angular - currentView.start 为空 fullcalendar