Vue, Avoided redundant navigation to current location: "/login".

emanlee發表於2024-09-01

Vue Avoided redundant navigation to current location: "/login".

=================================

報錯解釋:
這個錯誤是在使用Vue.js框架時,發生的一個警告,表示嘗試進行一個冗餘的導航到當前位置(即“/login”路徑)。這通常發生在Vue Router中,當你嘗試透過程式設計方式導航到當前正在顯示的路徑時。

解決方法:
檢查你的路由跳轉程式碼,確保不會不小心導航到當前位置。例如,避免在使用者已經在"/login"頁面時呼叫this.$router.push('/login')。
可以使用this.$router.push之前先判斷當前路徑是否已經是目標路徑,只有在不同路徑時才進行跳轉
使用replace替換而不是push,這樣可以避免在歷史記錄中建立新的記錄,從而避免可能產生的冗餘導航問題。

示例程式碼:
// 假設當前路徑是/current-path
if (this.$route.path !== '/login') {
this.$router.replace('/login');
}

=================================

if (this.$route.path !== '/login') {
this.$router.push('/login')
}

=================================

相關文章