<html>
<head>
<meta charset="utf-8">
<title>AngularJS 路由实例</title>
</head>
<body ng-app='routingDemoApp' ng-controller="DataTableCtrl">
<h2>AngularJS 路由应用</h2>
<ul>
<li><a href="#/">首页</a></li>
<li><a href="#/computers">电脑</a></li>
<li><a href="#/printers">打印机</a></li>
<li><a href="#/blabla">其他</a></li>
</ul>
<div ng-view></div>
<script src="https://cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script>
<script src="https://apps.bdimg.com/libs/angular-route/1.3.13/angular-route.js"></script>
<script>
var app = angular.module('routingDemoApp',['ngRoute']);
app.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/',{template:'这是首页页面'})
.when('/computers',{template:'这是电脑分类页面'})
.when('/printers',{template:'这是打印机页面'})
.otherwise({redirectTo:'/'});
}]);
app.controller("DataTableCtrl", function($scope, $http) {
});
</script>
</body>
</html>
如上图所示,使用ngRoute控制页面的显示内容,假设我的地址是http://localhost:8080/ask, 当我点击"打印机"链接后,地址变成了: http://localhost:8080/ask#!/#...,这样的话,就无法进行路由了,当然如果我的页面是http://localhost:8080/ask.html,那是可以正常路由的,那问题来了,angular是怎么支持对restful格式地址的路由的呢?
链接不加 # 用 ng-href 交给 angular 自己处理