我在这里有一个问题。
我使用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/

10-12 12:20
查看更多