Vue路由的$router.back(-1)回退時如何判斷有沒有上一個路由


原文: https://segmentfault.com/q/1010000010714863

現在每個頁面的左上角有一個返回按鈕<
點擊時的代碼是this.$router.back(-1),返回上一個路由
但是我們現在有這樣一個需求,把其中某一頁分享出去,用戶打開時並沒有上一條路由的歷史記錄,所以點擊<按鈕時沒有反應。
所以應該怎么判斷有沒有上一條路由的歷史記錄。
代碼:
routerback: function () {
this.$router.back(-1)
},

 

 

window.history.length是整個記錄數量,包括前進,不排除出現當前頁不是最后一條記錄

    methods: {
        back(){
            if (window.history.length <= 1) { this.$router.push({path:'/'}) return false } else { this.$router.go(-1) } //上面都沒執行就說明卡在當前頁不是最后一條, histroy記錄數量大於1,又沒有回退記錄,只能返回首頁, //如果上面都執行了 頁面都跳走了,這個也就不用管了 setTimeout(() => { this.$router.push({path:'/'}) },500) } },


免責聲明!

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



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