最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue實現(xiàn)路由跳轉(zhuǎn)的多種方式匯總

 更新時間:2025年07月07日 09:04:05   作者:江城開朗的豌豆  
Vue路由可以幫助你在單頁應(yīng)用中管理應(yīng)用的不同頁面和頁面間的跳轉(zhuǎn),通過Vue路由,你可以實現(xiàn)頁面的動態(tài)切換和無刷新加載,提升用戶體驗和頁面性能,今天就來分享下Vue中實現(xiàn)路由跳轉(zhuǎn)的多種方式,總有一種適合你

今天咱們不聊人生理想,就聊聊Vue里那些讓人又愛又恨的路由跳轉(zhuǎn)方式。保證看完這篇,你再也不會在路由跳轉(zhuǎn)上栽跟頭!

一、路由跳轉(zhuǎn)的"基本款"

1. 聲明式導(dǎo)航 - 優(yōu)雅的模板寫法

<router-link to="/home">回家</router-link>
<router-link :to="{ path: '/profile' }">我的主頁</router-link>

的個人心得:

  • 就像穿衣服,這種寫法最"體面"
  • 會自動渲染成<a>標(biāo)簽,SEO友好
  • 支持active-class高亮,做導(dǎo)航菜單 特別香

2. 編程式導(dǎo)航 - 靈活的JS操作

// 基本跳轉(zhuǎn)
this.$router.push('/home')

// 帶參數(shù)跳轉(zhuǎn)
this.$router.push({ path: '/user', query: { id: '123' } })

// 命名路由跳轉(zhuǎn)
this.$router.push({ name: 'user', params: { username: '我' } })

踩過的坑提醒:

// params傳參必須用name,不能用path!
this.$router.push({ 
  name: 'user', 
  params: { userId: '007' } // ? 正確
})

this.$router.push({
  path: '/user',
  params: { userId: '007' } // ? 無效!
})

二、進(jìn)階跳轉(zhuǎn)技巧

1. 替換當(dāng)前路由(不留下歷史記錄)

this.$router.replace('/login')
// 相當(dāng)于把當(dāng)前路由"覆蓋"掉

適用場景

  • 登錄后跳轉(zhuǎn),不讓用戶點返回又回到登錄頁
  • 表單分步驟提交,不需要回退到上一步

2. 前進(jìn)后退控制

// 后退一步
this.$router.go(-1)

// 前進(jìn)兩步
this.$router.go(2)

的實戰(zhàn)案例:

// 支付完成后禁止返回
paySuccess() {
  this.$router.replace('/success')
  // 再鎖死后退按鈕
  window.history.pushState(null, null, document.URL)
}

三、特殊跳轉(zhuǎn)場景處理

1. 帶參數(shù)跳轉(zhuǎn)的三種姿勢

// 方式1:query傳參(URL可見)
this.$router.push({
  path: '/search',
  query: { keyword: 'Vue' }  // → /search?keyword=Vue
})

// 方式2:params傳參(URL不可見)
this.$router.push({
  name: 'user',
  params: { id: 123 }  // → /user/123(需提前配置動態(tài)路由)
})

// 方式3:props解耦(推薦?。?
{
  path: '/user/:id',
  name: 'user',
  component: User,
  props: true  // 自動將params轉(zhuǎn)為props
}

2. 跳轉(zhuǎn)前確認(rèn)攔截

this.$router.push({
  path: '/important',
  query: { confirm: true }
}).catch(err => {
  // 用戶取消了導(dǎo)航
  if (err.name === 'NavigationDuplicated') {
    alert('別急,已經(jīng)在當(dāng)前頁啦!')
  }
})

四、小楊的跳轉(zhuǎn)最佳實踐

簡單跳轉(zhuǎn):直接用<router-link>,省心省力

復(fù)雜跳轉(zhuǎn):用編程式導(dǎo)航,靈活控制

參數(shù)傳遞

  • 需要分享URL用query
  • 敏感信息用params
  • 組件復(fù)用推薦props

異常處理:永遠(yuǎn)記得catch導(dǎo)航錯誤

最后送大家一個路由跳轉(zhuǎn)攔截的實用代碼:

router.beforeEach((to, from, next) => {
  if (to.path === '/vip' && !我.isVip) {
    next('/pay') // 不是VIP?先去充值!
  } else {
    next()
  }
})

今天的路由跳轉(zhuǎn)小課堂就到這里啦!覺得有用的話,別忘了點個贊~有什么問題歡迎評論區(qū)交流,看到都會回復(fù)的!

寫在最后?

到此這篇關(guān)于Vue實現(xiàn)路由跳轉(zhuǎn)的多種方式匯總的文章就介紹到這了,更多相關(guān)Vue路由跳轉(zhuǎn)方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3中<script?setup>?和?setup函數(shù)的區(qū)別對比

    vue3中<script?setup>?和?setup函數(shù)的區(qū)別對比

    這篇文章主要介紹了vue3中<script?setup>?和?setup函數(shù)的區(qū)別,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 最新評論

    扎鲁特旗| 镇雄县| 赤水市| 溧水县| 宾阳县| 丽江市| 连江县| 金川县| 沁源县| 正安县| 巴塘县| 拜泉县| 灵山县| 仁化县| 宣威市| 平邑县| 咸宁市| 衡阳市| 武隆县| 新安县| 惠州市| 麻城市| 肃北| 松原市| 名山县| 滨州市| 宁乡县| 宽城| 岫岩| 桂平市| 德昌县| 尖扎县| 拉萨市| 新兴县| 满城县| 鄢陵县| 玛曲县| 德格县| 苍山县| 敦化市| 湘潭市|