Vue重定向redirect的三種寫法總結(jié)
更新時間:2025年06月17日 10:45:58 作者:WZMeiei
這篇文章主要介紹了Vue重定向redirect的三種寫法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
一、寫法 1:直接路徑跳轉(zhuǎn)(最簡單)
const router = createRouter({
routes: [
{
path: '/原路徑', // 用戶訪問的路徑
redirect: '/目標(biāo)路徑' // 直接跳轉(zhuǎn)到這個路徑
}
]
})必記規(guī)則:
redirect后直接跟字符串路徑(必須以/開頭)。- 路徑必須存在:確保
/目標(biāo)路徑在路由配置里有對應(yīng)的組件。
示例:
{ path: '/old', redirect: '/new' } // 訪問 /old → 自動跳轉(zhuǎn)到 /new二、寫法 2:通過路由名稱跳轉(zhuǎn)(更靈活)
const router = createRouter({
routes: [
{
path: '/原路徑',
redirect: { name: '目標(biāo)路由名稱' } // 通過路由的 name 屬性跳轉(zhuǎn)
},
// 必須先定義目標(biāo)路由,并設(shè)置 name
{
path: '/目標(biāo)路徑',
name: '目標(biāo)路由名稱', // 給路由起個名字
component: 目標(biāo)組件
}
]
})必記規(guī)則:
redirect后是對象,必須包含name屬性。- 路由名稱必須先定義:確保
name: '目標(biāo)路由名稱'在路由配置里存在。
示例:
{ path: '/user', redirect: { name: 'profile' } } // 訪問 /user → 跳轉(zhuǎn)到 name 為 profile 的路由三、寫法 3:動態(tài)跳轉(zhuǎn)(帶參數(shù),最靈活)
const router = createRouter({
routes: [
{
path: '/原路徑/:參數(shù)名', // 帶動態(tài)參數(shù)的路徑
redirect: to => {
// to 是當(dāng)前訪問的路由對象
return {
path: '/目標(biāo)路徑',
query: { 參數(shù)名: to.params.參數(shù)名 } // 傳遞參數(shù)
}
}
}
]
})必記規(guī)則:
redirect后是箭頭函數(shù),函數(shù)返回一個對象。
參數(shù)傳遞:
to.params.參數(shù)名→ 獲取當(dāng)前路由的動態(tài)參數(shù)(如/user/123中的123)。query: { 參數(shù)名: 值 }→ 把參數(shù)轉(zhuǎn)為查詢參數(shù)(如?id=123)。
示例:
{
path: '/search/:keyword', // 訪問 /search/vue
redirect: to => {
return {
path: '/results',
query: { q: to.params.keyword } // 跳轉(zhuǎn)到 /results?q=vue
}
}
}四、核心規(guī)則速查表(必須記?。。?/h2>
| 寫法 | 固定格式 | 關(guān)鍵注意點 |
|---|---|---|
| 直接路徑 | redirect: '/目標(biāo)路徑' | 路徑必須以 / 開頭,且已配置路由 |
| 路由名稱 | redirect: { name: '目標(biāo)名稱' } | 必須先定義帶 name 的路由 |
| 動態(tài)跳轉(zhuǎn) | redirect: to => ({ ... }) | 用 to.params 獲取當(dāng)前路由參數(shù) |
五、完整示例(三種寫法對比)
import { createRouter, createWebHashHistory } from 'vue-router'
import Home from './views/Home.vue'
import Profile from './views/Profile.vue'
import Search from './views/Search.vue'
import Results from './views/Results.vue'
const router = createRouter({
history: createWebHashHistory(),
routes: [
// 寫法1:直接路徑跳轉(zhuǎn)
{ path: '/', redirect: '/home' },
// 寫法2:通過路由名稱跳轉(zhuǎn)
{ path: '/user', redirect: { name: 'profile' } },
{ path: '/profile', name: 'profile', component: Profile },
// 寫法3:動態(tài)跳轉(zhuǎn)(帶參數(shù))
{
path: '/search/:keyword',
redirect: to => ({
path: '/results',
query: { q: to.params.keyword }
})
},
{ path: '/results', component: Results },
// 基礎(chǔ)路由
{ path: '/home', component: Home },
]
})
export default router六、一句話總結(jié)
重定向的本質(zhì)是 “訪問 A 路徑時,自動跳轉(zhuǎn)到 B 路徑”
三種寫法只是跳轉(zhuǎn)方式不同:
- 直接路徑:簡單粗暴,適合固定跳轉(zhuǎn)。
- 路由名稱:解耦路徑,適合路徑可能變化的場景。
- 動態(tài)跳轉(zhuǎn):帶參數(shù)傳遞,適合需要參數(shù)處理的場景。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實現(xiàn)echarts餅圖/柱狀圖點擊事件實例
echarts原生提供了相應(yīng)的API,只需要在配置好echarts之后綁定相應(yīng)的事件即可,下面這篇文章主要給大家介紹了關(guān)于vue實現(xiàn)echarts餅圖/柱狀圖點擊事件的相關(guān)資料,需要的朋友可以參考下2023-06-06
Vue3實現(xiàn)vueFLow流程組件的詳細(xì)指南
VueFlow是一個專門為Vue.js框架設(shè)計的交互式可視化庫,它允許開發(fā)者輕松創(chuàng)建和管理復(fù)雜的圖形模型,如流程圖、狀態(tài)機、組織結(jié)構(gòu)圖等,本文給大家介紹了Vue3實現(xiàn)vueFLow流程組件的詳細(xì)指南,需要的朋友可以參考下2024-11-11
基于Vue實現(xiàn)關(guān)鍵詞實時搜索高亮顯示關(guān)鍵詞
這篇文章主要介紹了基于Vue實現(xiàn)關(guān)鍵詞實時搜索高亮顯示關(guān)鍵詞,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
vue-router實現(xiàn)webApp切換頁面動畫效果代碼
本篇文章主要介紹了vue實現(xiàn)app頁面切換效果實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
vue+webpack實現(xiàn)異步加載三種用法示例詳解
這篇文章主要介紹了vue+webpack實現(xiàn)異步加載的三種用法,文中給大家提到了vue+webpack實現(xiàn)異步組件加載的代碼,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2018-04-04

