我正在尝试模块化我的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>
答案 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;
};