Angular Js $ injector:unpr错误

时间:2016-02-21 20:21:17

标签: javascript angularjs angularjs-service

我是角色的新手,我正在尝试实现自定义服务。代码如下:

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

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您已在''内联DI数组中添加了userService,该数组要求''是您问题的罪魁祸首。因为当您在控制器中注入userService依赖项时,角度注入器会用于创建userService服务的实例。

在解析来自userService DI数组的依赖关系时,会将''传递给injector,然后首先通过将其Provider后缀连接到''+ 'Provider来创建提供程序名称结果为Provider作为依赖名称&amp;显然没有这种依赖存在。因此,角度正在抛出异常$injector/unpr?表示Injector unknown provider

更改以下服务代码

                    //VVVVVVV//unwanted '' blank dependency
.service('userService', ['', function(){
   //data
}])

.service('userService', [function(){ //removed `''` dependency
   //data
}])