【问题标题】:Angular module injection errorAngular 模块注入错误
【发布时间】:2015-09-11 03:35:46
【问题描述】:

我正在尝试使用 .Net 创建一个示例 Angular 应用程序,只是为了了解如何连接它们中的两个,但我无法摆脱这个 injector::modulerr 错误。尝试了各种各样的事情,改变依赖关系,删除空括号等等,但没有任何改变。我创建了 plunker 来保持这个线程更干净,链接如下。

http://plnkr.co/edit/5AHsUSrFib4dkiX6XjLY?p=preview

我认为错误一直来自这个

angular.module('angularTest', ['ngRoute']).config(['$routeProvider', '$routeParams', '$httpProvider',
    function ($routeProvider, $routeParams, $httpProvider) {
        console.log('1');
        $routeProvider.
            when('/routeOne', {
                templateUrl: 'routesDemo/one'
            })
            .when('/routeTwo/:donuts', {
                templateUrl: function (params) { return '/routesDemo/two?donuts=' + params.donuts }
            })
            .when('/routeThree', {
                templateUrl: 'routesDemo/three'
            })
            .when('/login?returnUrl', {
                templateUrl: '/Account/Login',
                controller: LoginController
            });
        console.log('2');
        $httpProvider.interceptors.push('AuthHttpResponseInterceptor');
    }
]);

感谢您的宝贵时间。

【问题讨论】:

    标签: javascript angularjs dependency-injection angularjs-routing angularjs-controller


    【解决方案1】:

    $routeParams 应该使用Provider 进行后期修复,因为您只能在配置阶段使用提供程序。

    此外,您应该始终只定义一次应用程序,然后使用该模块附加它,重新创建 angular.module 将刷新旧应用程序,新副本将被视为该模块。在您的服务和控制器中,您需要将 angular.module('angularTest',[]) 更改为 angular.module('angularTest')

    另外你错过了在LogInController上添加'

      .when('/login?returnUrl', {
         templateUrl: '/Account/Login',
         controller: 'LoginController' //<--here added qoutes
      });
    

    最后一件事,您错过了添加 AuthHttpResponseInterceptor.js,它无法被 Angular 应用识别并抛出 AuthHttpResponseInterceptor factory not defined。

    Working Plunkr

    【讨论】:

    • 我不确定 $routeParams,因为我没有直接在配置中使用它,所以不需要它,对吗?删除它,并没有改变任何东西。此外,当我从 angular.module('angularTest', []) 中删除方括号时,它开始抱怨我错过了它或忘记了依赖项。
    • @DasBoot 你的代码有很多错误..让我把它们都收集起来..&我正在用修复更新我的答案..
    • @DasBoot 完成了我的分析..我用工作 plunkr 更新了答案..看看它..谢谢 :)
    • 它看起来像我给的同一个 plunker,或者我错过了一些东西 :)。感谢您的宝贵时间
    • @DasBoot 哦,对不起..那是我的错..现在看看我的编辑..你现在应该清楚了。
    猜你喜欢
    • 2016-05-30
    • 1970-01-01
    • 2016-07-14
    • 2017-08-12
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2016-01-14
    • 2018-07-21
    相关资源
    最近更新 更多