«Не определено» в заголовке fullcalendar с оболочкой ng-fullcalendar и расширением fullcalendar-scheduler в angular 5 - PullRequest
0 голосов
/ 31 декабря 2018

Я использую оболочку ng-fullcalender для виджета fullcalendar в своем проекте angular 5.Fullcalendar без плагина fullcalendar-scheduler работает нормально.Но когда я пытаюсь расширить календарь с помощью плагина fullcalendar-scheduler, в заголовке виджета появляются несколько «неопределенных» строк.

Я импортирую плагин fullcalendar-scheduler в компонент, где я хочу использоватьплагин.Я использую компонент ng-fullcalendar в разных местах моего проекта.Как ни странно, когда я импортирую плагин fullcalendar-scheduler только в одном компоненте, описанное поведение отображается для каждого элемента fullcalenar всего проекта.Я также попытался импортировать плагин fullcalendar-scheduler в ".angular-cli.json" в части "scripts".Но затем консоль chrome сообщает: "Uncaught TypeError: Невозможно прочитать свойство 'Mixin' из неопределенного" .Также отображается «ОШИБКА TypeError: spec.class не является конструктором» , которая всегда отображается, когда плагин fullcalendar-scheduler не загружен.Я уже прочитал следующий пост: jQuery fullCalendar отображается неопределенным в заголовке .Но ни одно из их предложений не решает мою проблему, потому что компонент ng-fullcalendar импортирует полный календарь, а не я.Они также предлагают включить пакет момент, но, как вы можете видеть в моем примере, это также не имеет никакого эффекта.

Я настроил свою конфигурацию с помощью описанного поведения в stackblitz: https://stackblitz.com/edit/angular-vjydy4.

1 Ответ

0 голосов
/ 31 декабря 2018

Я решил проблему (через два дня): я подозревал, что при загрузке полного календаря возникла проблема.Поэтому я создал свою собственную обертку на основе исходного кода ng-fullcalendar.С оберткой в ​​моем проекте у меня теперь есть полный контроль над загрузкой отдельных файлов js.Вместо импорта fullcalendar

import * as $ from 'jquery';
import 'fullcalendar';

импорт only fullcalendar-scheduler

import * as $ from 'jquery';
import 'fullcalendar-scheduler';

в оболочке решает проблему.

У вас также естьпоместить в ваш .angular-cli.json следующее:

 "styles": [
    "styles.scss",
    "../node_modules/fullcalendar-scheduler/dist/scheduler.min.css"
 ],
 "scripts": [
    "../node_modules/jquery/dist/jquery.min.js",
    "../node_modules/moment/min/moment.min.js",
    "../node_modules/fullcalendar-scheduler/node_modules/fullcalendar/dist/fullcalendar.min.js",
    "../node_modules/fullcalendar-scheduler/dist/scheduler.min.js"
 ],

И в вашем style.css вы должны включить CSS полного календаря:

@import "~fullcalendar/dist/fullcalendar.min.css";

Тогда все работаетмоя сторона.

...