vue-router是什么


路由就是用來跟后端服務器進行交互的一種方式,通過不同的路徑,來請求不同的資源,請求不同的頁面是路由的其中一種功能。

vue-router是vue.js官方路由管理器。vue的單頁應用是基於路由和組件的,路由用於設定訪問路徑,並將路徑和組件映射起來。(傳統頁面切換是用超鏈接a標簽進行切換)

##### 路由的兩種模式

前端路由核心:改變視圖的時候不會向后端發起請求。(vue-router中默認hash模式)

##### 1.hash模式:

哈希存在url中,但是發送請求的時候並不會被帶上,通過監聽`hashchange`事件得到hash值的變化,來實現更新頁面部分內容的操作。

function matchAndUpdate () {
   // todo 匹配 hash 做 dom 更新操作
}

window.addEventListener('hashchange', matchAndUpdate)
2.history模式:

html5 history接口:pushState() 和 replaceState(),向歷史記錄中添加或替換而無須重新加載頁面。

function matchAndUpdate () {
   // todo 匹配路徑 做 dom 更新操作
}

window.addEventListener('popstate', matchAndUpdate)
3、history模式刷新404問題:

用了 HTML5 的實現,單頁路由的 url 就不會多出一個#,變得更加美觀。

但因為沒有 # 號,當用戶刷新頁面時,瀏覽器還是會給服務器發送請求。

解決方法:需要服務器的支持,如果 URL 匹配不到任何靜態資源,則應該返回同一個 index.html 頁面,那么刷新會跳首頁。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM