我有一个问题我有这段代码:
的index.html:
<!doctype html>
<html lang="nl" ng-app="tradePlace">
<head>
<meta charset="utf-8">
<link href="./helpers/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="./helpers/bootstrap/js/bootstrap.min.js" rel="stylesheet" type="text/css">
<link href="./helpers/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular-route.min.js"></script>
<script type="text/javascript" src="./includes/routes/routes.js"></script>
<script type="text/javascript" src="./includes/services/loginService.js"></script>
<script type="text/javascript" src="./includes/controllers/indexCntrl.js"></script>
</head>
<body ng-view></body>
</html>
Routes.js:
var app = angular.module('tradePlace', ['ngRoute', 'tradeCntrls']);
app.config(['$routeProvider', '$locationProvider', function($route, $location) {
$route.
when('/', {
redirectTo: '/index'
}).
when('/index', {
templateUrl: './includes/templates/index.html',
controller: 'indexCntrl'
}).
when('/register', {
templateUrl: './includes/templates/register.php',
controller: 'indexCntrl'
}).
otherwise({
redirectTo: '/index'
});
$location.html5Mode(true);
}])
indexCtrnl.js:
var app = angular.module('tradeCntrls', []);
app.controller('indexCntrl', ['$scope' , 'loginService', function($scope, login){
$scope.login = function() {
}
}])
loginService.js
app.factory('loginService', ['', function(){
return function login(){
};
}])
所以,我收到了这个错误:
错误:$ injector:unpr未知提供商
AngularJS文档上的错误页面说:
此错误是因为$ injector无法解析a 必要的依赖。要解决此问题,请确保已定义依赖项 拼写正确
嗯,我确定拼写正确,应该定义。我已经尝试在loginServices.js中放置一个getter来获取tradePlace模块,并尝试使用带有tradePlaceCntrls模块的getter,但我仍然得到错误。
我不知道如何解决这个问题。
答案 0 :(得分:1)
不确定是不是这样,但您是否尝试过像这样定义工厂?
app.factory('loginService', function(){
return function login(){
};
});
您不需要阵列,因为您的登录服务没有任何依赖项。那''
可能会导致您的问题。尝试删除阵列,因为在这种情况下不需要。
此外,您可以将登录服务定义为服务:
app.service('loginService', function(){
return function login(){
};
});