Angular 路由

路由:根據地址欄裏面的url不一樣,展示不一樣的視圖。做用爲分發,路由自己沒法解答問題,它會告訴你該找誰去解決問題。html

#是錨點,防止向服務器端發送請求,angular進行攔截。對#/後面的東西去和內部$routeProvider的模板去進行匹配,不一樣的視圖交給不一樣的控制器去處理服務器

angular 路由是單獨提供的功能模塊ngRoute,也是一個單獨發行的.js文件,使用路由的時候,須要手動去導入angular-route.js文件。使用這個文件的緣由是angular自己進行深層次的路由很麻煩,爲了簡化開發,因而就誕生出了route.js專門用來作路由的js文件app

 

 

API一共有兩個方法:ide

1.when( ) : 用於跳轉指定的頁面,用法在文章下面描述佈局

2.otherwise( ) : 不知足這些路由狀況跳轉的頁面(index)網站

 

用angular的路由實現這個的佈局是很繁瑣的,因此咱們須要使用ui-router 來實現深層次的路由嵌套。ui



直接上項目代碼url

項目結構:spa

angular.js :是gular提供的js文件router

angular-route.js :是路由使用的文件,必定要引入進項目

 

index.html頁面內容

 

hello.index頁面內容

 

bookList.html頁面內容

 

app.js文件  : 整個項目的配置文件

templateUrl: 跳轉的頁面

controller:跳轉的頁面所使用的控制器

一個頁面要單獨寫一個控制器

 

效果爲: 在url上手動切換錨點處關聯字母,能夠看到頁面無縫隙的進行了跳轉

若是不少人開發同一個項目,該如何合併呢??

答:每一個人定義一個模塊,讓後整合到一塊兒。bookStoreApp爲主啓動模塊,[ ] 內部爲依賴模塊,把全部關聯的模塊都寫進[ ]內,這樣共同完成一個網站的開發。

 

route路由的缺點爲:會產生一個http請求,會把路由到的頁面請求回來。若是想避免這種狀況,就使用下面的方案

 

注:本文做者不是大漠窮秋,是參考了大漠窮秋的視頻講解而後寫出的demo。

相關文章
相關標籤/搜索