作为构建单页面应用必不可少的一部分,angular路由灰常重要。
(1)angular路由分类
1)angular内置路由:ng-route,但是由于它功能有限,我们平常很少用。
2)ui-route:一个基于 ngRoute 开发的 第三方路由模块
(2)ngRoute vs ui.router
1)无论是使用哪种路由,作为框架额外的附加功能,它们都将以 模块依赖 的形式被引入,简而言之就是:在引入路由 源文件 之后, 你的代码应该这样写(以 ui.router 为例):
angular.module("myApp", ["ui.router"]); // myApp为自定义模块,依赖第三方路由模块ui.router
这样做的目的是: 在程序启动(bootstrap)的时候,加载依赖模块(如:ui.router),将所有 挂载 在该模块的 服务(provider) , 指令(directive) , 过滤器(filter) 等都进行注 册 ,那么在后面的程序中便可以调用了。
2)ngRoute
$routeProvider(服务提供者) --------- 提供urlRouterProvider和stateProvider $route(服务) ,其中urlRouterProvider用来配置路由重定向 $urlRouter(服务)
stateProvider $route(服务) --------- 对应于下面的urlRouter和state $routeParams(服务) --------- 对应于下面的stateParams
ng-view(指令) --------- 对应于下面的ui-view
ui.router