AngularJs Error - Uncaught Error: [$injector:unpr]

AngularJs Error - Uncaught Error: [$injector:unpr]

本文关键字:Error injector unpr Uncaught AngularJs      更新时间:2023-09-26

我是AngularJs的新手,我已经看到了足够多的类似问题的帖子,但还没有找到解决我问题的方法。我使用的是Angular 1.4.5

app.js(省略了额外的代码,如路由和拦截器):

'use strict';
var app = angular.module('app', ['ngRoute', 'authControllers', 'authServices']);
var authControllers = angular.module('authControllers', []);
var authServices = angular.module('authServices', []);

authControllers.js:

authControllers.controller('authCtrl', ['$scope', '$location', '$window', 'UserService', 'AuthenticationService',
function authCtrl($scope, $location, $window, UserService, AuthenticationService) {
  //Admin User Controller (login, logout)
  $scope.logIn = function logIn(username, password) {
    if (username !== undefined && password !== undefined) {
      UserService.logIn(username, password).success(function(data) {
        AuthenticationService.isLogged = true;
        $window.sessionStorage.token = data.token;
        $location.path("/");
      }).error(function(status, data) {
        console.log(status);
        console.log(data);
      });
    }
  }
  $scope.logout = function logout() {
    if (AuthenticationService.isLogged) {
      AuthenticationService.isLogged = false;
      delete $window.sessionStorage.token;
      $location.path("/");
    }
  }
}
]);

authServices.js:

authServices.factory('AuthenticationService',function() {
  var auth = {
    isLogged: false
  }
  return auth;
});

index . html:

<body ng-app="app">
    <div class="navbar navbar-inverse navbar-fixed-top" role="navigation" data-ng-controller="authCtrl">
       <!-- data-ng-controller="authCtrl" -->
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="#">Angular Restful Auth</a>
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li><a ng-href="#/">Home</a></li>
                    <li data-ng-show="token"><a ng-href="#/me">Me</a></li>
                    <li data-ng-hide="token"><a ng-href="#/signin">Signin</a></li>
                    <li data-ng-hide="token"><a ng-href="#/signup">Signup</a></li>
                    <li data-ng-show="token"><a ng-click="logout()">Logout</a></li>
                </ul>
            </div><!--/.nav-collapse -->
        </div>
    </div>
    <div class="container" ng-view="">
    </div> <!-- /container -->    
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.1/angular-route.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>    
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="/js/app.js"></script>
<script src="/js/authentication/authControllers.js"></script>
<script src="/js/authentication/authServices.js"></script>
</body>

得到未捕获错误:[$injector:unpr]http://errors.angularjs.org/1.4.5/$喷射器/unpr ? p0 = 3 c AuthenticationServiceProvider % 20% - % 20 authenticationservice

请让我知道我做错了什么

记下评论中讨论的答案:

问题是没有在index.html

中包含模块化的js文件

的例子:

<script src="/js/authControllers.js"></script>
<script src="/js/authServices.js"></script>