Vue重定向redirect的三種寫法總結(jié)
一、寫法 1:直接路徑跳轉(zhuǎn)(最簡(jiǎn)單)
const router = createRouter({
routes: [
{
path: '/原路徑', // 用戶訪問(wèn)的路徑
redirect: '/目標(biāo)路徑' // 直接跳轉(zhuǎn)到這個(gè)路徑
}
]
})必記規(guī)則:
redirect后直接跟字符串路徑(必須以/開(kāi)頭)。- 路徑必須存在:確保
/目標(biāo)路徑在路由配置里有對(duì)應(yīng)的組件。
示例:
{ path: '/old', redirect: '/new' } // 訪問(wèn) /old → 自動(dòng)跳轉(zhuǎn)到 /new二、寫法 2:通過(guò)路由名稱跳轉(zhuǎn)(更靈活)
const router = createRouter({
routes: [
{
path: '/原路徑',
redirect: { name: '目標(biāo)路由名稱' } // 通過(guò)路由的 name 屬性跳轉(zhuǎn)
},
// 必須先定義目標(biāo)路由,并設(shè)置 name
{
path: '/目標(biāo)路徑',
name: '目標(biāo)路由名稱', // 給路由起個(gè)名字
component: 目標(biāo)組件
}
]
})必記規(guī)則:
redirect后是對(duì)象,必須包含name屬性。- 路由名稱必須先定義:確保
name: '目標(biāo)路由名稱'在路由配置里存在。
示例:
{ path: '/user', redirect: { name: 'profile' } } // 訪問(wèn) /user → 跳轉(zhuǎn)到 name 為 profile 的路由三、寫法 3:動(dòng)態(tài)跳轉(zhuǎn)(帶參數(shù),最靈活)
const router = createRouter({
routes: [
{
path: '/原路徑/:參數(shù)名', // 帶動(dòng)態(tài)參數(shù)的路徑
redirect: to => {
// to 是當(dāng)前訪問(wèn)的路由對(duì)象
return {
path: '/目標(biāo)路徑',
query: { 參數(shù)名: to.params.參數(shù)名 } // 傳遞參數(shù)
}
}
}
]
})必記規(guī)則:
redirect后是箭頭函數(shù),函數(shù)返回一個(gè)對(duì)象。
參數(shù)傳遞:
to.params.參數(shù)名→ 獲取當(dāng)前路由的動(dòng)態(tài)參數(shù)(如/user/123中的123)。query: { 參數(shù)名: 值 }→ 把參數(shù)轉(zhuǎn)為查詢參數(shù)(如?id=123)。
示例:
{
path: '/search/:keyword', // 訪問(wèn) /search/vue
redirect: to => {
return {
path: '/results',
query: { q: to.params.keyword } // 跳轉(zhuǎn)到 /results?q=vue
}
}
}四、核心規(guī)則速查表(必須記?。。?/h2>
| 寫法 | 固定格式 | 關(guān)鍵注意點(diǎn) |
|---|---|---|
| 直接路徑 | redirect: '/目標(biāo)路徑' | 路徑必須以 / 開(kāi)頭,且已配置路由 |
| 路由名稱 | redirect: { name: '目標(biāo)名稱' } | 必須先定義帶 name 的路由 |
| 動(dòng)態(tài)跳轉(zhuǎn) | redirect: to => ({ ... }) | 用 to.params 獲取當(dāng)前路由參數(shù) |
五、完整示例(三種寫法對(duì)比)
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:通過(guò)路由名稱跳轉(zhuǎn)
{ path: '/user', redirect: { name: 'profile' } },
{ path: '/profile', name: 'profile', component: Profile },
// 寫法3:動(dòng)態(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ì)是 “訪問(wèn) A 路徑時(shí),自動(dòng)跳轉(zhuǎn)到 B 路徑”
三種寫法只是跳轉(zhuǎn)方式不同:
- 直接路徑:簡(jiǎn)單粗暴,適合固定跳轉(zhuǎn)。
- 路由名稱:解耦路徑,適合路徑可能變化的場(chǎng)景。
- 動(dòng)態(tài)跳轉(zhuǎn):帶參數(shù)傳遞,適合需要參數(shù)處理的場(chǎng)景。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue使用element?plus組件的時(shí)間格式問(wèn)題解決
這篇文章主要為大家詳細(xì)介紹了Vue使用element?plus組件時(shí)出現(xiàn)時(shí)間格式問(wèn)題的解決方法,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考下2025-07-07
vue2+electron項(xiàng)目搭建過(guò)程
文章介紹了如何使用Vue CLI 2搭建Vue項(xiàng)目,并添加Electron插件vue-cli-plugin-electron-builder來(lái)創(chuàng)建一個(gè)Vue+Electron項(xiàng)目,文章還提供了啟動(dòng)和打包項(xiàng)目的方法,并提示了下載國(guó)內(nèi)網(wǎng)較慢的文件時(shí)可以先注釋掉代碼進(jìn)行調(diào)試,感興趣的朋友一起看看吧2025-01-01
Vite中使用Ant?Design?Vue3.x框架教程示例
這篇文章主要為大家介紹了Vite中使用Ant?Design?Vue3.x框架教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Vue3+Vite環(huán)境變量與多環(huán)境配置詳解
本文介紹了在Vue3+Vite項(xiàng)目中配置和使用環(huán)境變量的完整方案,該方案實(shí)現(xiàn)了安全、靈活的環(huán)境變量管理,支持多環(huán)境開(kāi)發(fā)和部署需求,感興趣的可以了解一下2026-05-05
Vue之elementUI下拉菜單dropdown組件中command方法添加額外參數(shù)方式
這篇文章主要介紹了Vue之elementUI下拉菜單dropdown組件中command方法添加額外參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06
Vue實(shí)現(xiàn)關(guān)聯(lián)頁(yè)面多級(jí)跳轉(zhuǎn)(頁(yè)面下鉆)功能的完整實(shí)例
這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)關(guān)聯(lián)頁(yè)面多級(jí)跳轉(zhuǎn)(頁(yè)面下鉆)功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Vue.js做select下拉列表的實(shí)例(ul-li標(biāo)簽仿select標(biāo)簽)
下面小編就為大家分享一篇Vue.js做select下拉列表的實(shí)例(ul-li標(biāo)簽仿select標(biāo)簽),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
vue3安裝vant實(shí)現(xiàn)按需引入和全局引入
本文主要介紹了vue3安裝vant實(shí)現(xiàn)按需引入和全局引入,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
vue實(shí)現(xiàn)滑動(dòng)驗(yàn)證條
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)滑動(dòng)驗(yàn)證條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
element-plus的el-table自定義表頭篩選查詢功能實(shí)現(xiàn)
這篇文章主要介紹了element-plus的el-table自定義表頭篩選查詢功能實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-07-07

