vue中路由的前進和后退問題
更新時間:2023年10月24日 17:13:28 作者:堅書直實i
這篇文章主要介紹了vue中路由的前進和后退問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
vue路由的前進和后退
this.$router.back() // 返回上一級 this.$router.go(-1) // 也是返回上一級 1就是前進 -1往后回退一級 -2 是往后回退二級 this.$router.push("aa") // 路由前進 aa是路由code
瀏覽器的刷新和回退
location.reload(參數(shù)) // true 是強制刷新相當于Ctrl+F5 false 刷新相當于F5 location.href = "" // 相當于瀏覽器地址欄的地址,也可以實現(xiàn)頁面跳轉(zhuǎn) history.back() // 后退 history.go(-1) // 后退 history.go(1) // 前進 history.forward() // 前進 history.go(0) // 刷新 location.reload() // 刷新
vue中路由原理
hash模式下
<body> <!-- router-link --> <a href="#/" rel="external nofollow" >首頁</a> <a href="#about" rel="external nofollow" >關(guān)于</a> <!-- router-view --> <div id="view"></div> </body>
<script> // 路由原碼是怎么實現(xiàn)的 // hash模式下 // 監(jiān)聽瀏覽器的hashchange方法,對應拿到路徑,渲染對應組件; document.addEventListener('DOMContentLoaded',()=>{ view.innerHTML = location.hash.slice(1); }) window.addEventListener('hashchange',() => { console.log('hashchange'); view.innerHTML = location.hash.slice(1); })
history模式下
// history模式下 // 如果不用a標簽 用span元素則 // h5中的pushState function routerChange(pathname){ history.pushState(null,null,pathname) view.innerHTML = location.pathname; } window.addEventListener('popstate',()=>{ view.innerHTML = location.pathname; })
兩個的區(qū)別:
1.hash通過錨點跳轉(zhuǎn),# url會更改,瀏覽器可以進行前進后退,瀏覽器不斷刷新,不和服務器端交流(主要通過hash)
2.history無錨點無hash,需要服務端配合
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3新屬性之css中使用v-bind的方法(v-bind?in?css)
這篇文章主要介紹了Vue3新屬性css中使用v-bind(v-bind?in?css)的方法,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01vue+element項目中過濾輸入框特殊字符小結(jié)
這篇文章主要介紹了vue+element項目中過濾輸入框特殊字符小結(jié),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08vue.js的vue-cli腳手架中使用百度地圖API的實例
今天小編就為大家分享一篇關(guān)于vue.js的vue-cli腳手架中使用百度地圖API的實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01