无法使用Fullcalendar中的rrule插件呈现周期性事件

时间:2018-10-03 19:47:48

标签: angular fullcalendar rrule

我正在尝试使用fullcalendar 4.0.0-alpha2和RRULE在Angular中呈现重复发生的事件。

angular.json:

"scripts": [
    "node_modules/fullcalendar/dist/fullcalendar.js",
    "node_modules/rrule/dist/es5/rrule.js",
    "node_modules/fullcalendar/dist/plugins/rrule.min.js"
]

mycomponent.component.ts:

import { Calendar } from 'fullcalendar';
import { RRule } from "rrule";

ngOnInit(): void {

    const rule = new RRule({
        freq: RRule.DAILY,
        interval: 1,
        byweekday: [RRule.MO, RRule.FR],
        dtstart: new Date(Date.UTC(2018, 1, 1, 10, 30)),
        until: new Date(Date.UTC(2020, 12, 31))
    });

    var calendarEl = document.getElementById('calendarDirectTest');

    var calendar = new Calendar(calendarEl, {
        events: [
            {
                "title": "Test A",
                "start": "2018-10-09T16:00:00",
                rrule: rule
            }
        ]
    });

    calendar.render();
}

Result

该事件仅呈现一次,这意味着fullcalendar完全忽略RRULE属性,尽管我包括了rrule库和rrule插件。

这是关于该插件的文档: https://fullcalendar.io/docs/v4/rrule-plugin

我唯一看到的不同是它们导入连接器/插件的方式,即:

import 'fullcalendar/plugins/rrule';

但这在Angular上不起作用,除非我丢失了某些东西。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您使用rrule插件,则不应在事件数据中包含startend字段。它将使用dtstartduration值。