天天看點

前端路由基本原理

1.哈希#。借鑒a标簽的錨點機制實作頁内導航,Url變化後浏覽器不重新整理。

AngularJS 路由允許我們通過不同的 URL 通路不同的内容。

通過 AngularJS 可以實作多視圖的單頁 Web 應用(single page web application,SPA)。

通常我們的 URL 形式為 http://runoob.com/first/page,但在單頁 Web 應用中 AngularJS 通過 #! + 标記 實作,例如:

http://csdn.com/#!/first
http://csdn.com/#!/second
http://csdn.com/#!/third      

當我們點選以上的任意一個連結時,向服務端請的位址都是一樣的 (http://csdn.com/)。 因為 #! 号之後的内容在向服務端請求時會被浏覽器忽略掉。 是以我們就需要在用戶端實作 #! 号後面内容的功能實作。 AngularJS 路由就通過 #! + 标記 幫助我們區分不同的邏輯頁面并将不同的頁面綁定到對應的控制器上。

2.HTML5中新的history API。

3.路由的核心是給應用定義“狀态”

4.使用路由機制會影響到應用的整體編碼方式(需要預先定義好狀态)。

5.考慮相容性問題與“優雅降級”