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

Posted soyosuyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) 模块有什么不同呢?的主要内容,如果未能解决你的问题,请参考以下文章

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

angularjs 报错Unknown provider: $routeProvider

angularjs路由传值$routeParams

angularjs $routeProvider 不包括视图(未知提供者)

Heroku 错误:页面是通过 HTTPS 加载的,但请求了一个不安全的脚本“angular-route.js”

['ngRoute', 'ui.router'] 有啥区别? [复制]