## ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js)
之间有什么不同呢?
很多文章中都有说道:当时`ngRoute`在路由配置时用`$routeProvider`,但是当`ui-router`路由配置时用 $stateProvider 和 $urlRouterProvider。
#### **那么它们有什么不同呢?**
1、ngroute是用AngularJS框架的核心部分。
2、ui-router是一个社区库,它是用来提高完善ngroute路由功能的。
#### **那么我到底用哪个,或者说,哪个更适合可管理性和适合可扩展性?**
ui-router路由器是一个第三方模块,功能非常强大。它支持一切正常ngroute也可以做许多额外的功能。
下边是常见的选择ui-router路由器的因素,而不用ngRoute。
* UI-Router路由器允许嵌套视图(nested views)和多个命名视图(multiple named views)。这是非常有用的应用程序,你可能有较多的页面来继承其他部分。
* ui-router允许你有很强的类型之间的连接状态的基础上的状态名称。
~~~
$stateProvider.state(state, {
url: '/' + lastState,
controller: 'ctrl.' + state,
templateUrl: '/views/' + path + '.html'
});
~~~
通过构建ui-sref来实现不同的状态的链接到不同的页面(或者模板)
~~~
<a ng-repeat="camnpr in group.items" ng-show="{{camnpr.show}}" ui-sref="{{camnpr.state}}">{{item.label}}</a>
~~~
* 同时你的路由可以访问动态创建的链接
* states允许你通过$statsParams来轻松的传递信息,允许不同的信息不同的states的map格式。
综上所述,angular-ui-router是一个功能更强大,更轻松配置项目的一个模块库,是ngRouter的升级版!
- 步入JavaScript的世界
- 二进制运算
- JavaScript 的版本是怎么回事?
- JavaScript和DOM的产生与发展
- DOM事件处理
- js的并行加载与顺序执行
- 正则表达式
- 当遇上this时
- Javascript中apply、call、bind
- JavaScript的编译过程与运行机制
- 执行上下文(Execution Context)
- javascript 作用域
- 分组中的函数表达式
- JS之constructor属性
- Javascript 按位取反运算符 (~)
- EvenLoop 事件循环
- 异步编程
- JavaScript的九个思维导图
- JavaScript奇淫技巧
- JavaScript:shim和polyfill
- ===值得关注的库===
- ==文章==
- JavaScript框架
- Angular 1.x
- 启动引导过程
- $scope作用域
- $q与promise
- ngRoute 和 ui-router
- 双向数据绑定
- 规范和性能优化
- 自定义指令
- Angular 事件
- lodash
- Test