標籤:常見 ems str blog 可擴充性 sre 支援 基礎上 multiple
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) 模組有什麼不同呢?