javascript - 如何修复此 Angular JS 错误 : [$injector:unpr]?

标签 javascript angularjs

<分区>

index.html

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <title>Angular JS</title>
    <script src="lib/angular.min.js"></script>
    <script src="lib/angular-route.min.js"></script>

    <script src="js/app.js"></script>
    <script src="js/controllers.js"></script>
    <link rel="stylesheet" href="css/style.css" />
</head>
<body>
    <div class="main" ng-view></div>
</body>
</html>

list.html

<ul class="artistlist">
    <li class="artist cf" ng-repeat="item in artists | filter:artistFilter | orderBy:artistOrder:direction">
        <img ng-src="images/{{item.shortname}}_tn.jpg" alt="{{item.name}}">
        <div class="info">
            <h2>{{item.name|uppercase}}</h2>
            <h3>{{item.reknown}}</h3>
        </div>
    </li>
</ul>

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' 
    });
}]);

controllers.js

var artistControllers = angular.module('artistControllers', []);

artistControllers.controller('ListController', ['$scope', '$http', function($scope, $http) {
    $http.get('data.json').success(function(data) {
        $scope.artists = data;
        $scope.artistOrder = 'name'
    });
}]);

完全错误

Error: [$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://localhost/angular/lib/angular.min.js:6:449
    at http://localhost/angular/lib/angular.min.js:32:125
    at Object.c [as get] (http://localhost/angular/lib/angular.min.js:30:200)
    at http://localhost/angular/lib/angular.min.js:32:193
    at c (http://localhost/angular/lib/angular.min.js:30:200)
    at Object.d [as invoke] (http://localhost/angular/lib/angular.min.js:30:417)
    at http://localhost/angular/lib/angular.min.js:32:211
    at c (http://localhost/angular/lib/angular.min.js:30:200)
    at Object.d [as invoke] (http://localhost/angular/lib/angular.min.js:30:417)

最佳答案

感谢您提供错误信息。没有它,几乎不可能找到错误。

我认为这可能对您有所帮助: https://stackoverflow.com/a/26230442/3741957

(好像是angular/ngRoute的版本不匹配)

关于javascript - 如何修复此 Angular JS 错误 : [$injector:unpr]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35708621/

相关文章:

javascript - 一个 Controller 中的多个路由导致 400 :bad request

javascript - 为什么 firebug 控制台中的 POST 没有显示任何内容,并且以下 jQuery 代码中的文件没有上传?

javascript - 我应该在旧的 Windows XP 机器上设置哪个 Nodejs 版本?

javascript - Angularjs - 指令上的 ng-disabled 执行顺序

php - Angularjs:事件后服务器端(php)呈现和数据绑定(bind)客户端

javascript - jQuery Bootstrap ScrollSpy 不起作用

javascript - DynamoDB 查询包含来自 Node.js 数组的值之一

javascript - 如何使用AngularJS使这两部分重复?

javascript - 在 AngularJS 中在哪里包装第三方插件?

javascript - Angular 多个 ng-options 父/子