1、首先讲路由之前,我们来说一些和路由相似的概念,URL是统
一资源定位符的意思,我们在浏览器的地址栏里面经常看到它的
身影,例如:http://www.baidu.com就是百度的URL,也就是定义
资源的位置的,那么AngularJS里面的路由又是个什么东西?其实
它也是标志某个资源的,例如:http://localhost/index.html/#/login,
这个URL里面,其实真正的路由是/login,它标识的是网页里的某
个资源。
2、说到AngularJS的路由,不得不提两个相关的AngularJS内置
对象:$routeProvider
和 $location
,前者是需要引入
angular-route.js的,因为路由已经没有包含在AngularJS的核心中
了,前者可以监听路由变化,做相应的操作的;后者则可以设置
和改变路由,例如:$location.path('/login')
,相应的
$routeProvider
的when('/login',function(){})
这个
函数会监听到路由的改变,当改变后的路由恰巧是/login的时候
就会回调函数。
3、在原生的手机App上,我们经常看到的一个应用场景是,点击
底部的导航栏,可以在界面上切换显示不同的内容。AngularJS同
样可以做到这点,正是利用路由,在点击导航栏的时候,可以
改变路由,然后在路由改变的监听函数中,重新设置显示的内容
这里还要额外提到的一个东西就是:ng-view指令,它是用于显示
路由的内容的,例如:<div ng-view></div>
。