angularjs 中的ng-route和ui-router的区别
2017-05-05 12:01
639 查看
首先要清楚两者的作用和用途。 ui-router 的工作原理非常类似于 Angular 的路由控制器,但它只关注状态。 ui-router是一个web客户端的路由解决方案,它最大的作用是将web界面的设计分块了 UI-Router被认为是AngularUI为开发者提供的最实用的一个模块,它是一个让开发者能够根据URL状态或者说是'机器状态'来组织和控制界面UI的渲染,而不是仅仅只改变路由。AngularUI Router是AngularUI 团队开发的一个AngularJS路由模块,相比AngularJS的标准路由ngRoute,它更灵活,基于state而不是URL在一个页面中加载多个View并保持View的层次。
UI-Router被认为是AngularUI为开发者提供的最实用的一个模块。与集成的ngRoute服务不同的是,UI-Router可以将视图嵌套,因为它基于的是操作状态而仅非URL。与传统做法使用ng-view不同的是,在ngRoute里需要使用ui-view服务。当在ui-router中处理路由和状态时,开发者的重心是当前的状态是什么以及在哪一个页面里。上面说集成的ngRoute服务不同,实际上在我当前用的版本中已经把ngRoute模块独立出来了;1、UI-Router支持嵌套视图,ngRoute实现起来比较麻烦使用ngRoute时,在主页面添加<ng-view></ng-view>标签,会把视图渲染好自动加载到此标签,而如果想在视图里面再加一个<ng-view></ng-view>,用别的子视图渲染好来填充视图里面种的<ng-view>标签,这是复杂和麻烦,不易实现;而UI-Router支持这个特性,ui-router使用ui-view标签,可以层层嵌套视图。2、UI-Router支持多视图,ngRoute不支持ngRoute的页面只能添加一个<ng-view></ng-view>标签,即使添加多个视图,都是填充同样的内容;UI-Router可以通过为ui-view命名的方式支持多个视图,如:<ng-view="profile"></ng-view><ng-view="main"></ng-view>
根据项目的需求进行选择,ng-route 是官方定义的路由,而ui-router是第三方提供的。这也是两者的区别。
相关文章推荐
- angularJs 中 ng-route与ui-router路由的区别
- AngularJS 路由:ng-route 与 ui-router
- angularjs中ng-route和ui-router简单用法的代码比较
- angularjs中ng-route和ui-router简单用法的代码比较
- 详解Angular路由 ng-route和ui-router的区别
- AngularJS 路由:ng-route 与 ui-router
- Angular路由 ng-route和ui-router的区别
- Angular学习-ng-route与ui-router路由的区别
- AngularJS 路由:ng-route 与 ui-router
- AngularJS 路由:ng-route 与 ui-router
- angularJS中的ui-router和ng-grid模块
- Angular路由 ng-route和ui-router的区别
- ng-route与ui-router
- 再谈路由之——ng-route和ui-router
- Angularjs中UI Router全攻略
- AngularJS - 利用ui-route及provider实现页面数据预加载的关键
- angularjs-ui-router的使用
- angularjs 中通过ui-router设置不同网页不同<title>内容
- angularjs之ui-bootstrap和ui-router结合使用
- [转]AngularJS 使用 UI Router 实现表单向导