原文: 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) } },