FullCalendar - 向Event对象添加新属性

时间:2017-10-16 10:11:05

标签: json ajax events properties fullcalendar

有很多主题讨论类似的问题,但没有一个我能真正理解并适用于我的项目。

我有一个包含多个字段的事件表的数据库:"字段1","字段2","字段3",... 。 我有一个PHP文件(json.php),json_encode该表为JSON格式,我使用FullCalendar插件从该文件中获取事件只需:

events: "json.php"

JSON格式的每个事件都是这样的:

    {
    "Field 1": "value of Field 1",
    "Field 2": "value of Field 2",
    .
    .
    .
    "Field n": "value of Field n",
    "title": "the title"
    "start": "some ISO8601 date string",
    "end": "some ISO8601 date string"
    }

"标题","开始"和"结束"字段是最重要的字段,因为默认情况下FullCalendar事件函数需要这些字段来创建事件对象和元素。

这很好用。事件使用"标题","开始"和"结束"属性并显示在日历中。

我的问题是如何让FullCalendar将其余字段作为属性添加到它创建的事件对象中?

我知道自定义事件函数events(as a function)在这里是我的朋友,但我对此很新,甚至在阅读完所有相关文档之后,我仍然不清楚如何实现这一目标,因为我不完全确定这个函数是如何工作的,而且我对AJAX的了解是平庸的。

我确定解决方案很简单。

提前谢谢

解决方案:

FullCalender已经自动执行此操作,因此无需在此处执行其他工作。它对我不起作用的原因是我的代码中还有别的东西。

感谢ADyson!

1 个答案:

答案 0 :(得分:0)

0

FullCalendar版本4:将在事件对象的“ extendedProps”中找到所有自定义值

事件:[

                {
                title: 'My Title',
                My_Custom_Value: 'non-standard Event Object field',
                allDay: false,
                start: 1501056000000,
                end: 1501057800000
                }

],

eventRender:函数(信息){

                console.log("_______ info _______\n");
                console.log(info.event.extendedProps.My_Custom_Value);

} “ extendedProps 一个普通对象,具有在解析过程中指定的其他其他属性。在显式给定的extendedProps哈希中接收属性,以及其他非标准属性。”

https://fullcalendar.io/docs/event-object