var params = {
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
events: [{
title: 'event1',
start: '2014-07-01'
}, {
title: 'event2',
start: '2014-07-05',
end: '2014-07-07'
}],
viewDate: '2014-07-14'
};
ko.fullCalendar = {
viewModel: function(config) {
this.header = config.header;
this.events = config.events;
this.viewDate = config.viewDate;
}
};
ko.bindingHandlers.fullCalendar = {
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
$(element).fullCalendar({
events: viewModel.events,
header: viewModel.header
});
$(element).fullCalendar('gotoDate', viewModel.viewDate);
}
};
var calendarViewModel = new ko.fullCalendar.viewModel(params);
ko.applyBindings(calendarViewModel);
<div data-bind="fullCalendar: calendarViewModel"></div>
External resources loaded into this fiddle: