fullcalendar 4.0使用循环动态设置事件

时间:2019-07-16 07:52:38

标签: javascript fullcalendar

我正在尝试使用完整的日历来动态设置事件。通过使用loadData()函数。但是我无法成功工作。 有人可以让我知道如何解决这个问题吗?

document.addEventListener('DOMContentLoaded', function() {
    var calendarEl = document.getElementById('calendar');

    var temp_array = loadData();
    var calendar = new FullCalendar.Calendar(calendarEl, {
        schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source',
        editable: true,
        eventLimit: true, // allow "more" link when too many events
        header:{
            left: 'prev,next today',
            center: 'title',
            right: 'dayGridMonth'
        },
      plugins: [ 'interaction','dayGrid' ],
        for (let i = 0 ; i <temp_array.length ; i++){
            calendar.addEvent({
                title: temp_array[i][0],
                start:temp_array[i][1],
                end :temp_array[i][2]               
            })
        }

    });
    calendar.render();

  });

function loadData(){
    let temp_array=[];
    temp_array[0]=["test1","2019-07-16","2019-07-21"];
    temp_array[1] = ["test2","2019-07-15","2019-07-20"];
    temp_array[2] =["test1","2019-07-16",""];
    return temp_array;
}

我尝试过这会引发

  

例外:Uncaught SyntaxError: Unexpected identifier

1 个答案:

答案 0 :(得分:0)

plugins: [ 'interaction','dayGrid' ],
        for (let i = 0 ; i <temp_array.length ; i++){
            calendar.addEvent({
                title: temp_array[i][0],
                start:temp_array[i][1],
                end :temp_array[i][2]               
            })
        }

您不能在这样的对象内放置for循环。您可以将事件作为数组传递给日历的配置:https://fullcalendar.io/docs/events-array

编辑: 如果要动态事件,还可以传递一个函数:https://fullcalendar.io/docs/event-source-object#options