我刚刚开始学习 AngularJS,并尝试使用 $route
显示不同的 View ,但在我的控制台中出现错误。这是我的代码:
index.html
<!Doctype html>
<html ng-app="approute">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="">
<title>Search The Angles: {{people.name}}</title>
<link rel="stylesheet" href="css/main.css">
<script type="text/javascript" src="script/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="script/angular.min.js"></script>
<script type="text/javascript" src="script/angular-route.js"></script>
<script type="text/javascript" src="script/app.js"></script>
</head>
<body>
<input type="text" ng-model="test">{{test | json}}
<div ng-view></div>
<a href="#/path2">Html2</a>
</body>
</html>
我的脚本如下:
'use strict';
var approute = angular.module("approute", ['ngRoute']);
approute.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/path2', {
templateUrl: "partials/index2.html",
controller: "appCountroller"
})
.when('/', {
templateUrl: "partials/index1.html",
controller: "appCountroller"
})
.otherwise({
redirectTo: '/'
});
}]);
approute.controller("appCountroller", function($scope, $http) {
$http.get('../json/data.json').success(function(response) {
$scope.people = response;
});
});
index1 和 index2.html 的格式如下:
<div>
<ul>
<li ng-repeat="person in people | filter:test">{{person.name}}</li>
</ul>
</div>
和index2.html
<div>
<ul>
<li ng-repeat="person in people | filter:test">{{person.name}}-{{person.position}}</li>
</ul>
</div>
当我尝试在浏览器中打开时,控制台上出现以下错误:
Error: [$injector:unpr] http://errors.angularjs.org/1.2.27/$injector/unpr?p0=%24templateRequestProvider%20%3C-%20%24templateRequest%20%3C-%20%24route%20%3C-%20ngViewDirective at Error (native)...
引用我的angular.min.js文件
我已尽我所能检查了一切,但没有看到导致错误的原因。
最佳答案
似乎无法解决依赖关系。在本例中,它看起来像是关于 ng-route 中的 templateRequestProvider。
检查 Angular-route 的版本和 Angular 的版本是否冲突,我认为可能是这样。
关于javascript - AngularJS $route 给出错误 : [$injector:unpr],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27483014/