Angular UI-Calendar TypeError:calendar.fullCalendar 不是函数

Posted

技术标签:

【中文标题】Angular UI-Calendar TypeError:calendar.fullCalendar 不是函数【英文标题】:Angular UI-Calendar TypeError: calendar.fullCalendar is not a function 【发布时间】:2016-05-06 17:40:30 【问题描述】:

我一直在尝试将 Angular: ui-calendar 与流星一起使用,但出现此错误。

TypeError: calendar.fullCalendar is not a function
    at Scope.scope.initCalendar (calendar.js:265)
    at Object.fn (calendar.js:337)
    at Scope.$digest (angular.js:15896)
    at Scope.$apply (angular.js:16160)
    at bootstrapApply (angular.js:1679)
    at Object.invoke (angular.js:4523)
    at doBootstrap (angular.js:1677)
    at Object.bootstrap (angular.js:1697)
    at htmlDocument.onReady (app.js:47)
    at fire (jquery.js:3143)

我喜欢在流星包中:

角度 1.2.3 angularui:ui-日历

也试过使用直接插入的包不使用meteor add。 但使用 calendar.js 文件(这是不同的)

两者都得到相同的错误。

试过这个:https://github.com/angular-ui/ui-calendar/issues/267

       scope.initCalendar = function () 
                if (!calendar) 
                    calendar = $(elm);
                
                calendar.fullCalendar(options);
                if (attrs.calendar) 
                    uiCalendarConfig.calendars[attrs.calendar] = calendar;
                
         ;

但似乎此修复不适用于流星和角流星。

关于如何解决此问题的任何想法?

【问题讨论】:

你在 angular.js 之前加载了 jQuery 库吗? 是的 jquery 在 angular 之前。 【参考方案1】:

您应该检查angular-ui-calendar/src/calendar.js 中的initCalendardestroyCalendar 方法。如果他们使用以下方法创建元素:

angular.element(elm).html('');

那么你应该把它替换为:

$(elm).html('');

【讨论】:

【参考方案2】:

问题是 Angular 在窗口中找不到 jquery。$

如果你使用的是 es6 模块:

import jquery from "jquery";

export default (window.$ = window.jQuery = jquery);

否则你应该在你的 index.html 和你的应用代码之前添加 js 脚本:

window.$ = window.jQuery = jquery

【讨论】:

【参考方案3】:

我认为您可能没有为您的页面正确配置控制器?

我也遇到了同样的问题,但是使用 ui-router,我错误地指定了控制器并且它没有连接。修复此问题后,日历会出现并且此错误消失。

【讨论】:

以上是关于Angular UI-Calendar TypeError:calendar.fullCalendar 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

Angular ui-calendar 事件函数调用了两次

如何仅使用角度指令将放置元素拖放到日历中

最佳实践,包括 Grails 中的 Angular UI

异常及源码分析org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeE(代

一个SQL语句的执行顺序

如何从单独的 js 文件中调用角度 $scope 函数? [复制]