#fullcalendar
#полный календарь
Вопрос:
Я добавил элемент управления FullCalendar в проект Aurelia, и календарь отображается, но не показывает никаких событий из моего источника JSON (междоменный).
events.js
import { fullCalendar } from 'fullcalendar';
export class Events {
heading = "Welcome to Events";
attached() {
$('#eventscalendar').fullCalendar({
weekends: false,
header: {
left: '',
center: 'prev title next',
right: ''
},
eventSources: [
{
url: 'http://mydomain/pub/api_events_aurelia.php',
dataType: 'jsonp',
color: 'yellow',
textColor: 'black'
}
],
loading: function (bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
}
});
}
refreshEvents() {
// reload events
console.log("refreshing...");
$('#eventscalendar').fullCalendar('refetchEvents');
}
}
events.html
<template>
<require from="fullcalendar/fullcalendar.css"></require>
<h2 class="text-center">${heading}</h2>
<!-- bootstrap element for FullCalendar -->
<button class="btn btn-primary" click.trigger="refreshEvents()">Refresh</button>
<div class="alert alert-info pull-right" id="loading">Loading...</div>
<div id="eventscalendar"></div>
</template>
Календарь загружается (в рамках встроенной функции Aurelia attached()), но события не отображаются. Если я вставлю данные события непосредственно в экземпляр (изменив EventSources: на events:, за которыми следуют данные JSON), это сработает.
Источник JSON выводит правильно отформатированные данные JSON:
Исходные данные JSON
[{
"id": "3596",
"title": "Feriado Local- No hay clases.",
"start": "2016-11-02",
"end": "2016-11-02"
}, {
"id": "3933",
"title": "Moms In Prayer",
"start": "2016-11-02T07:30:00",
"end": "2016-11-02T08:30:00"
}, {
"id": "3826",
"title": "Early Release Day",
"start": "2016-11-02T12:30:00",
"end": "2016-11-02T13:30:00"
}, {
"id": "3827",
"title": "Parent Seminar",
"start": "2016-11-03",
"end": "2016-11-03"
}, {
"id": "3593",
"title": "Salida Temprano. Reporte de Progreso.",
"start": "2016-11-03",
"end": "2016-11-03"
}, {
"id": "3568",
"title": "Fiesta "Ya Su00e9 Multiplicar"",
"start": "2016-11-04",
"end": "2016-11-04"
}, {
"id": "3969",
"title": "Thrive",
"start": "2016-11-04T18:30:00",
"end": "2016-11-04T21:00:00"
}, {
"id": "3949",
"title": "No classes - Day After Presidential Elections",
"start": "2016-11-07",
"end": "2016-11-07"
}, {
"id": "3594",
"title": "Entrega de Reporte de Progreso.",
"start": "2016-11-07",
"end": "2016-11-07"
}, {
"id": "3828",
"title": "Talent Show Auditions",
"start": "2016-11-08T14:30:00",
"end": "2016-11-08T16:00:00"
}, {
"id": "3954",
"title": "National Honor Society Induction",
"start": "2016-11-08T18:30:00",
"end": "2016-11-08T19:30:00"
}, {
"id": "3600",
"title": "u00daltimo Seminario para Padres y Madres del au00f1o 2015",
"start": "2016-11-10",
"end": "2016-11-10"
}, {
"id": "3829",
"title": "Talent Show Auditions",
"start": "2016-11-10T14:30:00",
"end": "2016-11-10T16:00:00"
}, {
"id": "3599",
"title": "Du00eda de u00c9nfasis Espiritual",
"start": "2016-11-11",
"end": "2016-11-11"
}]
Есть ли способ отладить данные событий FullCalendar, чтобы узнать, успешно ли они загрузили данные json?
Комментарии:
1. json кажется допустимым. Вы уверены, что находитесь в представлении, в котором должно быть событие? Проверьте инструменты разработчика на
Network
вкладке и проверьте запрос к серверу. У вас ошибка? Правильно ли запрос вернул список событий? Если вы скопируете ответ и вставите его в JsonFormater , является ли он допустимым JSON?
Ответ №1:
В конце концов, решение состояло в том, чтобы изменить:
eventSources: [
{
url: 'http://mydomain/pub/api_events_aurelia.php',
dataType: 'jsonp',
color: 'yellow',
textColor: 'black'
}
],
Для:
events: 'http://mydomain/pub/api_events_aurelia.php',
Я до сих пор не знаю, почему верхняя часть работала, а нижняя — нет, но моя проблема решена.
Комментарии:
1. Я просто пытаюсь отобразить что-то, и это завершается неудачей с «Необработанным отклонением TypeError: $ (…).FullCalendar не является функцией » В старом сообщении SO (2014) упоминалась аналогичная ошибка …. есть подозрение, что была повреждена » ..min.js «. Итак, в моем файле aurelia.json я перешел на неминифицированную версию; безрезультатно. Я использую 3.2.0 из fullcalendar. Дайте мне знать, что вы сталкивались с этим раньше, и если да, то что вы сделали.
2. Опубликуйте вопрос как новый вопрос и разместите ссылку здесь, и я посмотрю на него.