## 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)。這是非常有用的應用程序,你可能有較多的頁面來繼承其他部分。
* 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的升級版!
- 步入JavaScript的世界
- 二進制運算
- JavaScript 的版本是怎么回事?
- JavaScript和DOM的產生與發展
- DOM事件處理
- js的并行加載與順序執行
- 正則表達式
- 當遇上this時
- Javascript中apply、call、bind
- JavaScript的編譯過程與運行機制
- 執行上下文(Execution Context)
- javascript 作用域
- 分組中的函數表達式
- JS之constructor屬性
- Javascript 按位取反運算符 (~)
- EvenLoop 事件循環
- 異步編程
- JavaScript的九個思維導圖
- JavaScript奇淫技巧
- JavaScript:shim和polyfill
- ===值得關注的庫===
- ==文章==
- JavaScript框架
- Angular 1.x
- 啟動引導過程
- $scope作用域
- $q與promise
- ngRoute 和 ui-router
- 雙向數據綁定
- 規范和性能優化
- 自定義指令
- Angular 事件
- lodash
- Test