为何前端须要个路由的机制?大概在2005年的时候兴起了ajax技术。有了ajax技术后,咱们在向后台提交数据就能够经过该技术进行页面无刷新方式进行服务器的通讯。固然这个技术也有一些缺陷。javascript
- 不会在浏览器地址栏中留下历史记录。(有人会想,没有历史记录挺好的啊。但是这若是在后台管理系统中没有历史记录也没有什么大的影响。可是若是是网络应用或门户网站这种的话就很差。用户就没有办法把此页面进行书签收藏或分享给他的小伙们啦)
- 用户没法直接经过url地址进入应用中的指定页面(保存书签、连接分享给朋友)。
- ajax对seo是个灾难。
从angularJS1.2以上版本中,要使用
ngRoute
须要咱们在从下引用angular-ui-router
库文件。html
以下代码写法:前端
var bookStoreApp = angular.module('bookStoreApp', [
'ngRoute', 'ngAnimate', 'bookStoreCtrls', 'bookStoreFilters',
'bookStoreServices', 'bookStoreDirectives'
]);
bookStoreApp.config(function($routeProvider) {
$routeProvider.when('/hello', {
templateUrl: 'src/tpls/hello.html',
controller: 'HelloCtrl'
}).when('/list', {
templateUrl: 'src/tpls/bookList.html',
controller: 'BookListCtrl'
}).otherwise({
redirectTo: '/hello'
})
});
缺点:只能实现单层级路由,不能深层次嵌套。html5