Javascript 完整日历不显示使用ko.observearray作为事件源的事件
我正试图用ko.array来填充我的jQuery FullCalendarJavascript 完整日历不显示使用ko.observearray作为事件源的事件,javascript,ajax,twitter-bootstrap,knockout.js,fullcalendar,Javascript,Ajax,Twitter Bootstrap,Knockout.js,Fullcalendar,我正试图用ko.array来填充我的jQuery FullCalendar function calEvent(data) { this.id = ko.observable(data.id); this.title = ko.observable(data.title); this.start = ko.observable(data.start); this.end = ko.observable(data.end);
function calEvent(data) {
this.id = ko.observable(data.id);
this.title = ko.observable(data.title);
this.start = ko.observable(data.start);
this.end = ko.observable(data.end);
this.color = ko.observable(data.color);
this.allDay = ko.observable(data.allDay);
}
function FullEventsViewModel() {
var self = this;
self.calEvents = ko.observableArray([]);
//Get data for calendar
$.getJSON("/JournalEntries/GetSummaryEvents?id=" + journalId, function (data) {
var mappedcalEvents = $.map(data, function (item) { return new calEvent(item) });
self.calEvents(mappedcalEvents);
});
$('#calendar').fullCalendar({
events: self.calEvents,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
disableDragging: true,
defaultDate: 'new Date()',
editable: true,
allDaySlot: false,
slotMinutes: 5,
selectable: true,
selectHelper: true,
editable: true,
eventLimit: true, // allow "more" link when too many events
eventClick: function (calEvent, jsEvent, view) {
window.location = "/JournalEntries/Edit/" + calEvent.id;
},
dayClick: function (date, jsEvent, view) {
var myDate = $.fullCalendar.formatDate(date, "M/dd/yyyy hh:mm:ss TT");
window.location = "/JournalEntries/Create?id=" + journalID + "&myDay=" + myDate;
var view = $('#calendar').fullCalendar('getView');
}
});
};
ko.applyBindings(new FullEventsViewModel());
然后是视图:
<div id='calendar' style="width:100%"></div>
调用完成后,它会点击服务器并返回数据,如果我绑定到一个表,我可以显示这些数据——工作正常——但它根本不会显示在日历中
我当然有:
<script src='/Scripts/fullcalendar.min.js'></script>
还有jQuery脚本等等。日历呈现,只是没有显示任何数据。当数据以另一种方式显示时(MVC),但我想尝试使用击倒 FullCalendar不知道如何处理淘汰观测值。似乎没有任何理由让你将数据包装成可观察数据;只需从原始数据填充日历。如果希望日历根据对事件数组的更改进行更新,则需要对其进行自定义绑定。这是对使用自定义绑定的一个很好的介绍:类似的问题:答案包括一个自定义绑定。我还没有尝试过自定义绑定,但我可能不需要可观察的。。到目前为止,我一直都在使用它,所以我想它对日历也有好处。事实证明,我遇到的问题更多地与日期以及日历如何处理日期有关——因为即使没有可观察的数据,我也看不到数据。我已经从IE中的测试切换到了Chrome中的测试,由于某些原因,我无法在Chrome(或Firefox)中看到数据,但仍然可以在IE中看到。我弄乱了日期,现在我看到了数据——关于UTC的一些信息——我仍在努力。我可能会尝试自定义绑定。。。