【问题标题】:Module not found in angularjs在angularjs中找不到模块
【发布时间】:2013-04-22 01:12:32
【问题描述】:

我想将这个https://gist.github.com/nblumoe/3052052 包装在一个模块中。我只是将代码从 TokenHandler 更改为 UserHandler,因为在每个 api 请求中我都想发送用户 ID。

但是,我在 firebug 控制台中找不到模块 UserHandler。这是我的完整代码:http://dpaste.com/1076408/

相关部分:

angular.module('UserHandler').factory('UserHandler', function() {
    var userHandler = {};
    var user = 0;

    /...

    return userHandler;
});

angular.module('TicketService', ['ngResource', 'UserHandler'])
       .factory('Ticket', ['$resource', 'UserHandler',
                function($resource, userHandler){

    var Ticket = $resource('/api/tickets/:id1/:action/:id2',
    {
        id1:'@id'
    }, 

    { 
        list: {
            method: 'GET'
        }
    }); 

    Ticket = userHandler.wrapActions( Ticket, ["open", "close"] );

    return Ticket;
}]); 

知道为什么会这样吗?如何解决?

【问题讨论】:

    标签: angularjs angularjs-module


    【解决方案1】:

    许多人落入了同一个陷阱。包括我。

    以下未定义新模块。它将尝试检索尚未定义的名为 UserHandler 的模块。

    angular.module('UserHandler')
    

    提供一个(空)依赖数组作为第二个参数将定义您的模块。

    angular.module('UserHandler', [])
    

    【讨论】:

    • 很高兴你 angular:controller 创造了一些当时不起作用的东西!
    • 我使用 yo 来生成 Angular 模板(参见 github.com/yeoman/generator-angular),这会创建一个像这样的控制器: angular.module('clientApp') .controller('MycontrollerCtrl', function ($scope) { ...}) 这不起作用。我需要将 [] 添加到 angular.module() 以使其正常工作。
    • 这个问题是关于定义模块的。您的示例使用现有模块注册控制器。你正在遭受同样的困惑:)
    • 不是针对这种特殊情况,但可能对一些人有帮助(这篇文章在谷歌上搜索这个问题的几率很高):如果你的模块在一个单独的文件中,它也必须包含在 html 中:
    【解决方案2】:

    我是 javascript 新手,花了几个小时才发现我的问题。模块初始化函数可以忽略。为避免这种情况,请不要忘记在函数末尾添加空括号:

    (function() {
        "use strict";
        var app = angular.module("app", []);
        })(); //<<---Here
    

    【讨论】:

      【解决方案3】:

      另外,不要忘记在您的index.html 中添加新模块:

      <script src="app/auxiliary/test.module.js"></script>
      <script src="app/auxiliary/test.route.js"></script>
      <script src="app/auxiliary/test.controller.js"></script>
      

      【讨论】:

        猜你喜欢
        • 2017-12-06
        • 1970-01-01
        • 2012-10-12
        • 2017-03-18
        • 2022-12-15
        • 1970-01-01
        • 2020-04-30
        • 2022-08-22
        • 2015-04-23
        相关资源
        最近更新 更多