我是angular的新手,我正在尝试实施自定义服务。代码如下:
app.js
angular.module('hrg', [
'ui.router',
'ui.bootstrap',
'ngTouch',
'ngAnimate',
'ngCookies',
'hrg.home'
])
.service('userService', ['', function(){
//data
}])
home.js
angular.module('hrg.home', ['ui.router'])
.controller('HomeController', ['$scope','$http','$cookies','$state','consts', 'userService',
function($scope, $http, $cookies, $state, consts, userService) {
//data
}])
index.html
<script src="app.js"></script>
<script src="components/home/home.js"></script>
错误是:[$ injector:unpr] http://errors.angularjs.org/1.5.0/ $ injector / unpr?p0 = userServiceProvider%20%3C-%20userService%20%3C-%20HomeController
我做错了什么事?
最佳答案
您已将''
放在userService
内联DI数组中,该数组要求输入''
是问题的元凶。因为当您在控制器内部注入userService
依赖项时,角度注入器会用于创建userService
服务的实例。
从userService
DI数组解析依赖项时,它将''
传递给injector
,然后首先通过将其与Provider
后缀(如''+ 'Provider
)连接起来以创建提供程序名称,并以Provider
作为依赖项名称,并且显然存在没有这种依赖性。因此,角度抛出异常$injector/unpr?
表示Injector unknown provider
更改以下服务代码
//VVVVVVV//unwanted '' blank dependency
.service('userService', ['', function(){
//data
}])
至
.service('userService', [function(){ //removed `''` dependency
//data
}])
关于javascript - Angular Js $ injector:unpr错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35541547/