1貌虾、簡介
單頁面:根據(jù)不同的url地址,顯示不同的內(nèi)容裙犹,但顯示在同一個界面尽狠。
2、基本用法
給大家一個小的demo叶圃,上邊有解釋袄膏。
eg:
js代碼.png
布局代碼.png
運行結(jié)果(1).png
運行結(jié)果.png
2.淺談hash值
其中大家看運行結(jié)果后面有個#,跟上你跳轉(zhuǎn)之后的頁面,這里有個東西叫做HASH掺冠,也叫做哈希值沉馆,
對于Vue 這類漸進式前端開發(fā)框架,為了構(gòu)建SPA(單頁面應用),需要引入前端路由系統(tǒng)斥黑,這也就是Vue-router存在的意義揖盘。前端路由的核心,就在于——— 改變視圖的同時不會向后端發(fā)出請求锌奴。
一兽狭、為了達到這個目的,瀏覽器提供了以下兩種支持:
hash ——即地址欄URL中的#符號(此hsah 不是密碼學里的散列運算)鹿蜀。
比如這個URL:http://www.abc.com/#/hello, hash 的值為#/hello椭符。它的特點在于:hash 雖然出現(xiàn)URL中,但不會被包含在HTTP請求中耻姥,對后端完全沒有影響销钝,因此改變hash不會重新加載頁面。
history ——利用了HTML5 History Interface 中新增的pushState() 和replaceState() 方法琐簇。(需要特定瀏覽器支持)
這兩個方法應用于瀏覽器的歷史記錄站蒸健,在當前已有的back、forward婉商、go 的基礎之上似忧,它們提供了對歷史記錄進行修改的功能。只是當它們執(zhí)行修改是丈秩,雖然改變了當前的URL盯捌,但你瀏覽器不會立即向后端發(fā)送請求。
history模式蘑秽,會出現(xiàn)404 的情況饺著,需要后臺配置。
二肠牲、404 錯誤
hash模式下幼衰,僅hash符號之前的內(nèi)容會被包含在請求中,如 http://www.abc.com, 因此對于后端來說缀雳,即使沒有做到對路由的全覆蓋渡嚣,也不會返回404錯誤;
history模式下肥印,前端的url必須和實際向后端發(fā)起請求的url 一致识椰,如http://www.abc.com/book/id 。如果后端缺少對/book/id 的路由處理深碱,將返回404錯誤腹鹉。
以上這些是Vue-router的簡單用法......