AngularJS: Error: $injector:unpr in simple script

AngularJS: Error: $injector:unpr in simple script

本文关键字:in simple script unpr injector Error AngularJS      更新时间:2023-09-26

我做了这个有代码运行的教程,我试图把它变成我自己的。但不幸的是,它不起作用。它给出了以下错误:

angular.min.js:84Error: [$injector:unpr] http://errors.angularjs.org/1.2.9/$injector/unpr?p0=%24templateRequestProvider%20%3C-%20%24templateRequest%20%3C-%20%24route%20%3C-%20ngViewDirective
at Error (native)
at http://portfolio2.gerbenboersma.com/lib/angular.min.js:6:449
at http://portfolio2.gerbenboersma.com/lib/angular.min.js:32:125
at Object.c [as get] (http://portfolio2.gerbenboersma.com/lib/angular.min.js:30:200)
at http://portfolio2.gerbenboersma.com/lib/angular.min.js:32:193
at c (http://portfolio2.gerbenboersma.com/lib/angular.min.js:30:200)
at Object.d [as invoke] (http://portfolio2.gerbenboersma.com/lib/angular.min.js:30:417)
at http://portfolio2.gerbenboersma.com/lib/angular.min.js:32:211
at c (http://portfolio2.gerbenboersma.com/lib/angular.min.js:30:200)
at Object.d [as invoke] (http://portfolio2.gerbenboersma.com/lib/angular.min.js:30:417)

我知道这个错误在这里被张贴得更频繁,但大多数人都在处理比我更复杂的代码,它似乎不适用。

我所遵循的教程在这里上传,在工作状态:http://gerbenboersma.com/sites/AngularTests/

我自己的代码几乎与它相似,在我的上一个版本中,我甚至使用了所有相同的名称。

<!doctype html>
<html lang="en" ng-app="myApp">
<head>
    <title>Gerben Boersma | Portfolio | 2016</title>
    <link rel="stylesheet" href="css/styles.css">
    <script src="lib/angular.min.js"></script>
    <script src="lib/angular-route.min.js"></script>
    <script src="js/works.json"></script>
    <script src="js/controllers.js"></script>
    <script src="js/app.js"></script>
</head>
<body>
<div class="outer-content">
    <div class="green-bar"></div>
    <div class="content" ng-view>
    </div>
</div>
</body>
</html>

和controllers.js:

var artistControllers = angular.module('artistControllers', []);
artistControllers.controller('ListController', ['$scope', '$http', function($scope, $http) {
  $http.get('js/works.json').success(function(data) {
    $scope.works = data;
    $scope.artistOrder = 'name';
  });
}]);

和app.js:

var myApp = angular.module('myApp', [
  'ngRoute',
  'artistControllers'
]);
myApp.config(['$routeProvider', function($routeProvider) {
  $routeProvider.
  when('/list', {
    templateUrl: 'partials/list.html',
    controller: 'ListController'
  }).
  otherwise({
    redirectTo: '/list'
  });
}]);

我看这些作品太久了,其实也没那么多。但是我找不到问题所在。根据AngularJS错误参考,我命名的方式可能有问题,但在这些最新版本中,我甚至没有更改原始教程示例的名称,这似乎工作得很好。我希望有人能解释一下。

你正在使用angular 1.2.9和新的angular-route 1.5.8,这导致了提到的问题,只是使用angular 1.5.8而不是1.2.9,我创建了plunker: http://plnkr.co/edit/szCGtnZQsXYFkTrjBNZZ?p=preview,尝试取消1.2.9和1.5.8版本的angular注释,问题将被复制

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js"></script>
<!-- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.9/angular.min.js"></script> -->