我刚开始学习AngularJS,并尝试使用$route
来显示不同的视图,但在我的控制台中出错。这是我的代码:
的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>
当我尝试在浏览器中打开时,我的控制台出现以下错误:
错误:[$ injector:unpr] http://errors.angularjs.org/1.2.27/ $注射器/ unpr?P0 =%24templateRequestProvider%20%3 C-%20%24templateRequest%20%3 C-%20%24route%20%3 C-%20ngViewDirective 在错误(本机)...
参考我的 angular.min.js 文件
我已经检查了所有可能的内容,但没有看到导致错误的原因。
答案 0 :(得分:1)
似乎无法解决依赖关系。在这种情况下,它看起来像是关于ng-route中的templateRequestProvider。
检查angular-route的版本和angular的版本是否没有冲突,我想可能就是这样。