我正在尝试使用 .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');
}
]);
感谢您的宝贵时间。
最佳答案
$routeParams
应该用 Provider
进行后修复因为您只能在配置阶段使用提供程序。
此外,您应该始终仅定义应用程序一次,然后使用该模块附加它,重新创建 angular.module
将刷新旧应用程序,新副本将被视为该模块。在您的服务和 Controller 中,您需要从 angular.module('angularTest',[])
进行更改至angular.module('angularTest')
此外,您还错过了添加 '
上LogInController
.when('/login?returnUrl', {
templateUrl: '/Account/Login',
controller: 'LoginController' //<--here added qoutes
});
最后一件事,您错过了添加 AuthHttpResponseInterceptor.js
Angular 应用程序无法识别它并抛出 AuthHttpResponseInterceptor
工厂未定义。
关于javascript - Angular 模块注入(inject)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31034929/