首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS:未明错误:[$injector:nomod] Module _是不可用的!

AngularJS:未明错误:[$injector:nomod] Module _是不可用的!
EN

Stack Overflow用户
提问于 2016-04-28 17:15:21
回答 1查看 460关注 0票数 1

目前,我正试图在各种指令和服务中引用一个AngularJS模块,如下所示。

module.js

代码语言:javascript
运行
复制
(function () {
    'use strict';

    angular.module('operations.setup.holidays.calendar', []);

})();

当我试图在一个指令/服务/控制器中引用它时,它工作得很好,但是当我试图引用它时,比如我得到的指令和服务:Uncaught Error: [$injector:nomod] Module 'operations.setup.holidays.calendar' is not available!

directive.js (如果这是唯一引用'operations.setup.holidays.calendar'__的东西的话)

代码语言:javascript
运行
复制
(function () {
    'use strict';

    angular
        .module('operations.setup.holidays.calendar')
        .directive('yearlyCalendarDirective', yearlyCalendarDirective);

    function yearlyCalendarDirective(){
        return{
          template: "<h1>Year Calendar Directive</h1>"
        };
    }
})();

service.js (添加类似的内容会导致指定的错误)

代码语言:javascript
运行
复制
(function(){
    'use strict';

    angular
        .module('operations.setup.holiday.calendar')
        .service('Calendar',Calendar);

    function Calendar(){

    }
})();

添加类似.module('operations.setup.holiday.calendar',[])之类的内容可以消除错误,但据我所知,这会创建一个新模块而不是引用旧模块?

编辑:这里是一个JSFiddle

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-29 16:30:56

根据这个答案的说法,调用匿名函数并不能保证函数按顺序调用。

也许您可以在一个匿名函数中加载所有代码:

代码语言:javascript
运行
复制
(function() {
  'use strict';
  angular.module('CalendarApp', []);

  angular.module('CalendarApp').directive('yearlyCalendar', function() {
    return {
      restrict: 'E',
      scope: {},
      template: '<span>Here is a YEARLY calendar</span>'
    }
  });

  angular.module('CalendarApp').directive('monthlyCalendar', function() {
    return {
      restrict: 'E',
      scope: {},
      template: '<span>Here is a MONTHLY calendar</span>'
    }
  });

  angular.module('CalendarApp').service('CalendarData', function() {
    function CalendarData() {
      vm = this;
      vm.today = new Date();
      return new CalendarData();
    }
  });
})();

如果在许多文件中分隔了这些代码,则不要使用匿名函数(直接调用代码)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36921336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档