我正在使用基因敲除,并且正在从可观察的数组中提取事件。我的事件出现在console.log中,但日历没有呈现。如果我从Console.log和硬代码复制数组,则日历可以正常。有什么不同。我该如何解决这个问题?
viewModel.calendarViewModel = new ko.fullCalendar.cModel({
events: cModel.events,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: false,
viewDate: viewModel.viewDate
}, viewModel);
console.log的摘要:
"calendarViewModel": {
"events": [
{
"id": 1304,
"title": "jjf2017_7_9-10",
"start": "2017-07-08",
"end": "2017-07-10",
"Location": "Guest House",
"backgroundColor": "Color",
"RoomNumber": "203"
},
{
"id": 1298,
"title": "JulyTest",
"start": "2016-07-09",
"end": "2016-07-18",
"Location": "Guest House",
"backgroundColor": "Color",
"RoomNumber": "205"
},
{
"id": 1299,
"title": "Julytest2",
"start": "2016-07-09",
"end": "2016-07-14",
"Location": "Guest House",
"backgroundColor": "Color",
"RoomNumber": "209"
},...
如果您的数据源正在更改,则可以尝试将事件属性用作函数而不是数组,然后在更改为更改为fullcalendar('Refetchevents')观察到数据。这是我从流星应用程序中拥有的工作片段。每当我观察更改的Mongo Cursor时,我都会称呼.fullcalendar(" Refetchevents"),以便刷新日历显示。在下面的示例中,我正在从Mongo系列中获取一系列约会,进行一些处理,然后使用"回调",这是FullCalendar将事件放在日历上的方式。当数据源更改(例如,从通过表单添加事件)时,我会从表格的成功回调中使用FullCalendar(" Refetchevents"),以确保更改呈现。**您可能只能使用" Refetchevents"而不是使用功能结构而混乱,但我尚未对其进行测试。
events(start, end, timezone, callback) {
const data = Appointments
.find()
.fetch() // <-- here's the array
// doing some array processing)
.map(appointment => {
appointment.editable = ! isPast(appointment.start);
return appointment;
});
if (data) {
// fullCalendar parses the data and renders it on the cal.
callback(data);
}