我一直在尝试使用Angular:ui-calendar和meteor,但是得到了这个错误。
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;
}
};
但似乎这个修复不适用于流星和角流星。
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
您应该检查./my_script.sh file.in > file.out
中的initCalendar
和destroyCalendar
方法。如果他们使用以下方法创建元素:
angular-ui-calendar/src/calendar.js
然后您应该将其替换为:
angular.element(elm).html('');
答案 1 :(得分:1)
问题在于,Angular在window中找不到jquery。$
如果使用的是es6模块:
import jquery from "jquery";
export default (window.$ = window.jQuery = jquery);
否则,您应该在index.html中以及应用代码之前添加js脚本:
window.$ = window.jQuery = jquery
答案 2 :(得分:0)
我认为您可能没有为您的页面正确配置控制器?
我遇到了同样的问题,但是使用ui-router,我的控制器指定不正确,而且没有连线。修复此问题会使日历显示,并且此错误消失。