角度模块注入错误

时间:2015-06-24 19:06:46

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

我正在尝试使用.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');
    }
]);




感谢您的时间。

1 个答案:

答案 0 :(得分:1)

$routeParams应该使用Provider进行发布修复,因为您只能在配置阶段使用提供商。

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

此外,您错过了在'

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

最后一件事,你错过了添加AuthHttpResponseInterceptor.js,这是角度应用程序无法识别的,并且没有定义AuthHttpResponseInterceptor工厂。

Working Plunkr