2014-07-10 3 views
0

У меня есть проблема, я этот кусок кода:

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(){ 

    }; 
}]) 

Таким образом, я получаю эту ошибку:

Error: $injector:unpr Unknown Provider

Страница ошибки на AngularJS Docs говорит:

This error results from the $injector being unable to resolve a required dependency. To fix this, make sure the dependency is defined and spelled correctly

Ну, Я уверен, написано правильно, и это должно быть определены. Я уже пытался установить getter в loginServices.js, чтобы получить модуль tradePlace, а также попытался использовать getter с модулем tradePlaceCntrls, но я все равно получаю ошибку.

Я не знаю, как это исправить.

+0

Я предполагаю, что это происходит потому, что вы пытаетесь придать '' «» службы в вашем 'loginService'. Это должно быть 'app.factory ('loginService', [function() {' Я думаю. – ivarni

+0

Попробуйте поставить точку останова на строке, которая дает вам ошибку, оттуда вы должны быть в состоянии прочитать, что происходит внутри Error Object data. Обычно я получаю эту ошибку, когда я использовал модуль, который я не добавил в приложении. – Bolza

+0

Спасибо, что это сработало, также спасибо за подсказку! – DazDylz

ответ

1

Не уверен, что это все, но вы пытались определить свою фабрику следующим образом?

Вам не нужен массив, так как ваша служба входа в систему не имеет никаких зависимостей. То, что '' может быть причиной вашей проблемы. Попробуйте удалить массив, поскольку в этом случае он не нужен.

Кроме того, вы можете определить свой сервис для входа в качестве службы:

app.service('loginService', function(){ 
    return function login(){ 

    }; 
}); 
Смежные вопросы