Javascript 完整日历不显示使用ko.observearray作为事件源的事件

Javascript 完整日历不显示使用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);

我正试图用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);
        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的一些信息——我仍在努力。我可能会尝试自定义绑定。。。