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的升級版!
純屬轉載筆記,如有侵權請告知!