vue中beforeRouteLeave實(shí)現(xiàn)頁面回退不刷新的示例代碼
路由切換返回前一個(gè)路由時(shí)實(shí)現(xiàn)頁面不刷新功能,首先想到的是keep-alive,但是頁面不屬于父子級(jí)關(guān)系,所以決定用beforeRouteLeave,下面貼代碼
beforeRouteLeave(to, from, next){
if(to.name !== 'page2'){
//判斷是從哪個(gè)路由過來的,如果不是page2過來的需要做什么操作在這里實(shí)現(xiàn)
//如果是page2過來的,表明當(dāng)前頁面不需要刷新獲取新數(shù)據(jù),直接用之前緩存的數(shù)據(jù)即可
}
next();
}
beforeRouteLeave后面的參數(shù)to是關(guān)于上個(gè)頁面的信息,to.name就是上個(gè)路由名稱。
這里有的人beforeRouteLeave方法無法觸發(fā)可能是因?yàn)樵趐age2頁面中路由跳轉(zhuǎn)寫了router.go(-1) ,這里必須寫具體跳轉(zhuǎn)的路由名稱
this.$router.push({name:'xxx'});
PS:
最近才做了一個(gè)功能一個(gè)路由下面有兩個(gè)tab切換的頁面,互相切換的時(shí)候需要保持之前選的參數(shù),其實(shí)tab本身是有這個(gè)功能的,但是這個(gè)需求切換的時(shí)候是需要像后臺(tái)發(fā)送請(qǐng)求,并且路由改變?cè)偾谢貋韰?shù)是要初始化的,所以想到了用beforerouteleave


beforerouteleave之前是一直聽聞這個(gè)東西并沒有用過,再網(wǎng)上看了,按照他們的用法并沒有效果
然后就自己試了一下結(jié)果成功了
看我的目錄結(jié)構(gòu)

下面的migrationPeople和personalMigration分別是tab切換里面的兩個(gè)內(nèi)容
index里面是寫tab切換的
我們只需要把beforeRouteLeave想寫vue生命周期一樣的寫法寫進(jìn)來就好了,至于參數(shù)to,from是什么就給路由守衛(wèi)是一樣的,感興趣的可以自己打印看一下
beforeRouteLeave(to,from,next){
if(sessionStorage.getItem('migrationPeopleDate')){
sessionStorage.removeItem('migrationPeopleDate')
}
if(sessionStorage.getItem('personalMigrationMan')){
sessionStorage.removeItem('personalMigrationMan')
}
next()
},
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue如何監(jiān)聽頁面的滾動(dòng)的開始和結(jié)束
這篇文章主要介紹了vue如何監(jiān)聽頁面的滾動(dòng)的開始和結(jié)束,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
Vue學(xué)習(xí)筆記進(jìn)階篇之多元素及多組件過渡
本篇文章主要介紹了Vue學(xué)習(xí)筆記進(jìn)階篇之多元素及多組件過渡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
vue3+vite兼容低版本的白屏問題詳解(安卓7/ios11)
這篇文章主要給大家介紹了關(guān)于vue3+vite兼容低版本的白屏問題的相關(guān)資料,還給大家介紹了vue打包項(xiàng)目以后白屏和圖片加載不出來問題的解決方法,需要的朋友可以參考下2022-12-12
vue實(shí)現(xiàn)會(huì)議室拖拽布局排座功能
vue-draggable-resizable-gorkys是一更強(qiáng)大的拖拽組件,可以隨意拖拽,有點(diǎn)坐標(biāo),會(huì)議室拖拽布局排座是vue-draggable結(jié)合vue-draggable-resizable-gorkys進(jìn)行開發(fā)的,本文重點(diǎn)給大家介紹vue實(shí)現(xiàn)會(huì)議室拖拽布局排座,感興趣的朋友一起看看吧2023-11-11
Vue組件簡(jiǎn)易模擬實(shí)現(xiàn)購(gòu)物車
這篇文章主要為大家詳細(xì)介紹了Vue組件簡(jiǎn)易模擬實(shí)現(xiàn)購(gòu)物車,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12
基于vue實(shí)現(xiàn)一個(gè)禪道主頁拖拽效果
最近在做一個(gè)基于vue的后臺(tái)管理項(xiàng)目。接下來通過本文給大家分析一款基于vue做一個(gè)禪道主頁拖拽效果,需要的朋友可以參考下2019-05-05
Vue3動(dòng)態(tài)組件component不生效問題解決方法
動(dòng)態(tài)組件component是Vue中非常實(shí)用的一個(gè)功能,它可以根據(jù)條件動(dòng)態(tài)切換不同的組件,在Vue3中使用方法和Vue2基本一致,在vue3使用component動(dòng)態(tài)組件展示組件時(shí),組件就是不展示顯示空白,所以本文記錄了Vue3動(dòng)態(tài)組件component不生效問題解決方法,需要的朋友可以參考下2024-08-08

