前置:單頁應用最顯著特點之一就是采用的前端路由系統,通過改變URL,在不重新請求頁面的情況下,更新頁面視圖。
更新視圖但不重新請求頁面,是前端路由原理的核心之一,目前在瀏覽器環境中這一功能的實現主要有2種方式:
? 1、利用URL中的hash("#");
? 2、利用History interface在HTML5中新增的方法;
一、hashHistory
通過(1)HashHistory.push()
? ? ? ?(2)HashHistory.replace()
? ? ? ?(3)監聽地址欄
用戶還可以直接在瀏覽器地址欄中輸入改變路由,因此還需要監聽瀏覽器地址欄中路由的變化 ,并具有與通過代碼調用相同的響應行為,在HashHistory中這一功能通過setupListeners監hashchange
二、HTML5History
從HTML5開始,History interface提供了2個新的方法:
? ? ? ? (1)pushState()
? ? ? ? (2)replaceState()
使得我們可以對瀏覽器歷史記錄棧進行修改
--------------------------------------------------------------------------------------------------------------------------------------
詳見:https://segmentfault.com/a/1190000014822765
? ? ? ? ? ?http://www.lxweimin.com/p/f8699194ce26