我在这里有一个问题。
我使用ocLazyLoader来加载完整的日历,并且效果很好,但是每当我尝试包括fullCalendar-scheduler以及JavaScript时,我都会遇到此错误。
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
]);
},
}
我也在控制器中传递了正确的值。
controller('AccueilCtrl', ['$scope', '$filter', 'fullCalendar', 'fullCalendarScheduler', function($scope, $filter, fullCalendar, fullCalendarScheduler) {
有想法该怎么解决这个吗?
最佳答案
对于那些有这个问题的人,我找到了一种解决方法。我不知道这是否是正确的方法,但确实有效。
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')
]
});
}
这样,我便能够以所需的顺序导入所需的文件。您也可以将ASSETS中的CSS与JS分开,然后以正确的顺序导入。
希望这对别人有帮助!
尼克
关于javascript - Fullcalendar-scheduler无法设置未定义的属性“scheduler Version”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41234357/