2016-12-20 4 views
2

У меня здесь проблема. Я использую ocLazyLoader для загрузки полного календаря, и он работает хорошо, но когда-либо я пытаюсь включить fullCalendar-scheduler, а также имею эту ошибку в JavaScript.Fullcalendar-scheduler не может установить свойство 'scheduler Version' of undefined

Uncaught TypeError: Cannot set property 'schedulerVersion' of undefined 

Похоже, что не может установить значение переменной равно $.fullCalendar в исходном коде плагинов.
Вот как я мои файлы создание экземпляра:

resolve: { 
    resources: function($ocLazyLoad) { 
     return $ocLazyLoad.load([ 
      ASSETS.forms.multiSelect 
     ]) 
    },fullCalendarScheduler: function($ocLazyLoad){ 
     return $ocLazyLoad.load([ 
      ASSETS.core.moment, 
      ASSETS.extra.scheduler, 
     ]); 
    }, 
    fullCalendar: function($ocLazyLoad){ 
     return $ocLazyLoad.load([ 
      ASSETS.extra.fullCalendar 
     ]); 
    }, 
} 

проходит правильное Aswell значения в контроллере.

controller('AccueilCtrl', ['$scope', '$filter', 'fullCalendar', 'fullCalendarScheduler', function($scope, $filter, fullCalendar, fullCalendarScheduler) { 

Любые идеи о том, как исправить это?

ответ

2

для тех, у кого есть эта проблема, я нашел способ ее исправить. Я не знаю, правильно ли это сделать, но он работает.
Для полного заказа Fullcalendar требуется спецификацию для импорта необходимых файлов. Используя OcLazyLoad, вы можете определить этот порядок, используя параметры files: []. Пример:

fullCalendar: function($ocLazyLoad){ 
       return $ocLazyLoad.load({ 
        files: [ 
         appHelper.assetPath('js/fullCalendar/3.1.0/fullcalendar.min.css'), 
         appHelper.assetPath('js/scheduler/1.5.0/scheduler.min.css'), 
         appHelper.assetPath('js/moment.min.js'), 
         appHelper.assetPath('js/fullCalendar/3.1.0/fullcalendar.min.js'), 
         appHelper.assetPath('js/scheduler/1.5.0/scheduler.min.js') 
        ] 
       }); 
      } 

Таким образом, я был в состоянии импортировать необходимые файлы в требуемом порядке. Вы также можете отделить css от js в ASSETS, а затем импортировать его в правильном порядке. Надеюсь, это поможет другим!

  • Nic
1

Если бы тот же вопрос, при загрузке файлов calandar динамически с помощью метода $.getScript(url); JQuery, и я наткнулся на этот пост. Спасибо, Nick, для размещения вашего решения!

После изменения порядка загрузки все отлично поработало. порядок нагрузки для меня было:

1-й - загрузить все CSS

второй - нагрузки JS в следующем порядке:

  • moment.min.js
  • fullcalendar.min.js
  • scheduler.min.js
  • bootstrap.min.js
  • ...

Надеюсь, это поможет кому-то еще.

+0

рад, что я мог вам помочь :) – Nicolas

Смежные вопросы