我正在尝试学习AngularJS路由,我遇到了一个小问题。
我在我的计算机上处理一个简单的HTML文件(这意味着Url看起来像file:/// C:/ Users ...)
我不知道在/
模板的链接中放入什么内容才能使其正常运行。我尝试使用home
,/home
,#home
,#/home
......但似乎没有任何效果。
以下是文件: (route1.html只包含一个输入)
HTML文件
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<!doctype html>
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script src="js/main2.js"></script>
</head>
<body>
<div ng-view>
</div>
</body>
</html>
&#13;
JavaScript文件
var app = angular.module('myApp', []);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/', {
controller: 'HomeController',
template: '<h1>Hey</h1><a href="#/home">Go to home</a>'
}).otherwise({redirectTo: '/'})
.when('/home', {
controller: 'HomeController',
templateUrl: 'route1.html'
})
}]);
app.controller('HomeController', function($scope) {
$scope.name = 'John';
});
&#13;
答案 0 :(得分:0)
AngularJS路由隐式使用Ajax来访问新URL并为您提供相应的视图。因此,如果要测试路由,则需要服务器来提供此页面(可以非常轻松地设置轻型apache或node.js静态服务器)。
this thread中有更多关于它的讨论。
答案 1 :(得分:0)
我通过添加最新的angular.js V1.4.5
和angular.route.js
相同版本来解决您的问题。并在main2.js
中进行了如下更改
var app = angular.module('myApp', ['ngRoute']);
休息很好,谢谢。