找不到模块内的AngularJS服务

时间:2015-05-20 11:31:56

标签: javascript angularjs

我正在尝试模块化我的AngularJS应用程序并在模块中放置一些服务。 每次我尝试引用我的服务时都会出错: 未知提供者:UtilsProvider< - Utils< - benutzerUebersichtController

我的代码是:

var utils = angular.module('Utils',[]);
utils.service('UtilsService', function () {   
    this.CurrentUser = 'Hello World';
});


var verwaltungApp = angular.module('verwaltungApp', ['Utils'])


verwaltungApp.controller('benutzerUebersichtController', ['$scope', '$http', '$filter','Utils', benutzerUebersichtController]);

function benutzerUebersichtController($scope, $http, UtilsService) {
$scope.Test = UtilsService.CurrentUser;
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="verwaltungApp">
  <div ng-controller="benutzerUebersichtController">
    <span>{{Test}}</span>
    </div>
  </div>

2 个答案:

答案 0 :(得分:1)

您正在控制器中注入此服务:

 ['$scope', '$http', '$filter','Utils']);

但是你只传递这些服务:

function benutzerUebersichtController($scope, $http, UtilsService) 

所以你的UtilsService现在是控制器里面的$ filter。

要纠正,您必须更改为此。

function benutzerUebersichtController($scope, $http, $filter, UtilsService) 

答案 1 :(得分:1)

您无法正确地在控制器中注入服务。

这:

verwaltungApp.controller('benutzerUebersichtController', ['$scope', '$http', '$filter','Utils', benutzerUebersichtController]); 
function benutzerUebersichtController($scope, $http, UtilsService) {
    $scope.Test = UtilsService.CurrentUser;
};

应该是:

verwaltungApp.controller('benutzerUebersichtController', ['$scope', '$http', '$filter','UtilsService', benutzerUebersichtController]);

function benutzerUebersichtController($scope, $http,$filter, UtilsService) {
    $scope.Test = UtilsService.CurrentUser;
};