2014-07-10 56 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:

​​

loginService.js

app.factory('loginService', ['', function(){ 
    return function login(){ 

    }; 
}]) 

所以,我得到这个错误:

Error: $injector:unpr Unknown Provider

在AngularJS文档错误页说:

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

好吧,我真的肯定拼写正确,并且它应该是定义。我已经试图在loginServices.js中放置一个getter来获得tradePlace模块,并试图在tradePlaceCntrls模块中使用getter,但仍然出现错误。

我不知道如何解决这个问题。

+0

我猜那是因为你试图注入'“”'服务到您的'loginService'。它应该是'app.factory('loginService',[function(){'我认为。 – ivarni

+0

尝试在给你错误的行上放置一个断点,从那里你应该能够读取里面发生了什么错误对象数据 通常,当我使用一个模块时,我没有在应用程序内部添加需要,但我得到这个错误。 – Bolza

+0

感谢它的工作,也感谢提示! – DazDylz

回答

1

不知道是否这是它,但你有没有尝试过像这样定义你的工厂?

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

    }; 
}); 

由于您的登录服务没有任何依赖关系,您不需要该数组。 ''可能会导致您的问题。尝试删除数组,因为在这种情况下不需要。

此外,你可以定义你的登录服务作为一项服务:

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

    }; 
}); 
相关问题