首页 > 代码库 > ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么不同呢?

ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么不同呢?

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)。这是非常有用的应用程序,你可能有较多的页面来继承其他部分。@camnpr
  • 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的升级版!

ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么不同呢?