ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模塊有什麼不一樣呢?

ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模塊有什麼不一樣呢?html

不少文章中都有說道:當時ngRoute在路由配置時用$routeProvider,可是當ui-router路由配置時用 $stateProvider 和 $urlRouterProvider。框架

那麼它們有什麼不一樣呢?ide

一、ngroute是用AngularJS框架的核心部分。ui

二、ui-router是一個社區庫,它是用來提升完善ngroute路由功能的。url

那麼我到底用哪一個,或者說,哪一個更適合可管理性和適合可擴展性?spa

ui-router路由器是一個第三方模塊,功能很是強大。它支持一切正常ngroute也能夠作許多額外的功能。code

下邊是常見的選擇ui-router路由器的因素,而不用ngRoute。router

  • UI-Router路由器容許嵌套視圖(nested views)和多個命名視圖(multiple named views)。這是很是有用的應用程序,你可能有較多的頁面來繼承其餘部分。@camnpr
  • ui-router容許你有很強的類型之間的鏈接狀態的基礎上的狀態名稱。
     
      $stateProvider.state(state, {
          url: '/' + lastState,
          controller: 'ctrl.' + state,
          templateUrl: '/views/' + path + '.html'
       });

    經過構建ui-sref來實現不一樣的狀態的連接到不一樣的頁面(或者模板)@鄭州網建htm

    <a ng-repeat="camnpr in group.items" ng-show="{{camnpr.show}}"ui-sref="{{camnpr.state}}">{{item.label}}</a>

    同時你的路由能夠訪問動態建立的連接blog

  • states容許你經過$statsParams來輕鬆的傳遞信息,容許不一樣的信息不一樣的states的map格式。

綜上所述,angular-ui-router是一個功能更強大,更輕鬆配置項目的一個模塊庫,是ngRouter的升級版!

純屬轉載筆記,若有侵權請告知!

相關文章
相關標籤/搜索