vue中路由跳轉(zhuǎn)的多種方式(和$router下路由跳轉(zhuǎn)的那幾個(gè)方法的區(qū)別)
Vue.js是一款流行的前端JavaScript框架,它提供了多種方式來實(shí)現(xiàn)路由跳轉(zhuǎn)。以下是其中幾種常見的方式:
1. 聲明式導(dǎo)航
在Vue的模板中,可以使用`<router-link>`標(biāo)簽來創(chuàng)建鏈接。該標(biāo)簽會(huì)被渲染為一個(gè)`<a>`標(biāo)簽,點(diǎn)擊它時(shí),它將導(dǎo)航到指定的路由
<router-link to="/home">Home</router-link>
2. 編程式導(dǎo)航
在Vue實(shí)例中,可以使用`$router`對(duì)象來實(shí)現(xiàn)編程式導(dǎo)航,該對(duì)象提供了一些方法,如`push`、`replace`、`go`等。```
// 導(dǎo)航到指定的路由 this.$router.push('/home') // 替換當(dāng)前路由 this.$router.replace('/home') // 后退一步 this.$router.go(-1)
3. 路由傳參
在聲明式導(dǎo)航和編程式導(dǎo)航中,可以通過`to`屬性或方法的第二個(gè)參數(shù)來傳遞參數(shù)。
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
this.$router.push({ name: 'user', params: { userId: 123 }})
4. 命名路由
在Vue路由中,可以給路由配置一個(gè)唯一的名稱,以方便在模板中使用。
{ path: '/user/:id', name: 'user', component: User }
<router-link :to="{ name: 'user', params: { id: userId }}">User</router-link>
以上是Vue中幾種常見的路由跳轉(zhuǎn)方式,通過它們,可以方便地實(shí)現(xiàn)路由之間的切換和傳參。
===============================================
在Vue.js中,$router是Vue Router插件注入到Vue實(shí)例中的路由實(shí)例,它提供了幾個(gè)方法來進(jìn)行編程式導(dǎo)航,這些方法的區(qū)別如下
1. $router.push(location, onComplete?, onAbort?)
`push`方法會(huì)在瀏覽器的歷史記錄中添加一條新的記錄,當(dāng)用戶點(diǎn)擊瀏覽器的后退按鈕時(shí),可以回退到之前的頁(yè)面。同時(shí),也可以在`push`方法中傳遞一個(gè)回調(diào)函數(shù),在路由導(dǎo)航完成時(shí)執(zhí)行。```
// 導(dǎo)航到指定的路由 this.$router.push('/home') // 導(dǎo)航到命名路由 this.$router.push({ name: 'user', params: { userId: 123 }}) // 添加回調(diào)函數(shù) this.$router.push('/home', () => { console.log('路由導(dǎo)航完成') })
2. $router.replace(location, onComplete?, onAbort?)
`replace`方法與`push`方法類似,也可以用來導(dǎo)航到指定的路由,但它不會(huì)在瀏覽器的歷史記錄中添加一條新的記錄,而是替換當(dāng)前的記錄。當(dāng)用戶點(diǎn)擊瀏覽器的后退按鈕時(shí),會(huì)跳轉(zhuǎn)到上一個(gè)頁(yè)面而不是當(dāng)前頁(yè)面的前一個(gè)。```
// 替換當(dāng)前路由 this.$router.replace('/home') // 替換命名路由 this.$router.replace({ name: 'user', params: { userId: 123 }}) // 添加回調(diào)函數(shù) this.$router.replace('/home', () => { console.log('路由導(dǎo)航完成') })
```
3. $router.go(n)
`go`方法用來在瀏覽器的歷史記錄中前進(jìn)或后退指定的步數(shù),參數(shù)n可以是正數(shù)或負(fù)數(shù),正數(shù)表示前進(jìn),負(fù)數(shù)表示后退。```
// 后退一步 this.$router.go(-1) // 前進(jìn)兩步 this.$router.go(2)
```
以上三個(gè)方法都是用來進(jìn)行編程式導(dǎo)航的,但它們的行為略有不同,根據(jù)具體的需求選擇使用。需要注意的是,在使用這些方法時(shí),需要確保路由實(shí)例已經(jīng)創(chuàng)建并注入到Vue實(shí)例中。
到此這篇關(guān)于vue中路由跳轉(zhuǎn)的幾種方式(和$router下路由跳轉(zhuǎn)的那幾個(gè)方法的區(qū)別)的文章就介紹到這了,更多相關(guān)vue路由跳轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue中table多選/單選行,獲取其數(shù)據(jù)方式
這篇文章主要介紹了vue中table多選/單選行,獲取其數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07SpringBoot+Vue3實(shí)現(xiàn)文件的上傳和下載功能
上傳文件和下載文件是我們平時(shí)經(jīng)常用到的功能,接下來就讓我們用SpringBoot,Vue3和ElementPlus組件實(shí)現(xiàn)文件的上傳和下載功能吧,感興趣的朋友跟隨小編一起看看吧2023-01-01vscode 開發(fā)Vue項(xiàng)目的方法步驟
這篇文章主要介紹了vscode 開發(fā)Vue項(xiàng)目的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11antd中table展開行默認(rèn)展示,且不需要前邊的加號(hào)操作
這篇文章主要介紹了antd中table展開行默認(rèn)展示,且不需要前邊的加號(hào)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11Vue3 elementUI 中 date-picker 使用過程遇到坑
這篇文章主要介紹了Vue3 elementUI 中 date-picker 使用過程遇到坑,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-10-10vue 每次渲染完頁(yè)面后div的滾動(dòng)條保持在最底部的方法
下面小編就為大家分享一篇vue 每次渲染完頁(yè)面后div的滾動(dòng)條保持在最底部的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03vant IndexBar實(shí)現(xiàn)的城市列表的示例代碼
這篇文章主要介紹了vant IndexBar實(shí)現(xiàn)的城市列表的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Vue + Vue-router 同名路由切換數(shù)據(jù)不更新的方法
本篇文章主要介紹了Vue + Vue-router 同名路由切換數(shù)據(jù)不更新的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11