解決從登錄頁通過this.$router.push跳轉首頁後 點返回健路由變而頁面不變的問題

做H5項目的時候遇到一個問題,我從 login 登錄頁通過 this.$router.push({ name: 'home' })路由登錄成功後跳轉到首頁,但在ios系統下,會有一個默認返回條,點擊返回鍵出現以下情況,路由顯示的是回到登錄頁,而頁面卻還是首頁。

解決思路:

開始我試着把push改爲replace,但是發現並沒什麼卵用,還是會出現問題,所以只好用路由導航守衛去監聽。

在首頁加入beforeRouteLeave,監聽到to.name如果是login的話就不跳轉,否則就跳轉,然後問題就解決了。

beforeRouteLeave (to, from, next) {
    if (to.name === 'login') {
        next(false)// 不跳轉
    } else {
        next() // 跳轉到另一個路由
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章