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
中的initCalendar
和destroyCalendar
方法。如果他们使用以下方法创建元素:
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 不是函数的主要内容,如果未能解决你的问题,请参考以下文章
异常及源码分析org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeE(代