您好,登錄后才能下訂單哦!
Vue中Router路由的hash模式與history模式是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
工作原理:監聽網頁的hash值變化 —>onhashchange事件, 獲取location.hash
使用 URL 的 hash 來模擬一個完整的 URL,于是當 URL 改變時,頁面不會重新加載。
會給用戶好像跳轉了網頁一樣的感覺, 但是實際上沒有跳轉
主要用在單頁面應用(SPA)
// 模擬原理 // 監聽頁面hash值變化 window.onhashchange = function(){ // 獲取當前url的哈希值 const _hash = location.hash // 根據不同的哈希值顯示不同的內容 switch(_hash) { case '/#a': document.querySelector('#app').innerHTML = '<h2>我是頁面1內容</h2>' break; case '/#b': document.querySelector('#app').innerHTML = '<h2>我是頁面2內容</h2>' break; case '/#c': document.querySelector('#app').innerHTML = '<h2>我是頁面3內容</h2>' break; } }
工作原理: 主要利用history.pushState() API 來改變URL, 而不刷新頁面.
其實一共有五種模式可以實現改變URL, 而不刷新頁面.
history.pushState()
history.replaceState()
history.go()
history.back() --> 等價于 history.go(-1)
history.forward() --> 等價于 history.go(1)
需要后臺配置支持, 如果輸入一個并不存在的url, 需要后端配置做 “兜底配置”, 不是粗暴的返回404, 而是返回首頁
開啟history模式
const router = new VueRouter({ mode: 'history', routes: [...] })
看完上述內容,你們掌握Vue中Router路由的hash模式與history模式是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。