Vue路由跳轉的4種方式小結

router-view 實現路由內容的地方,引入組件時寫到需要引入的地方,需要註意的是,使用vue-router控制路由則必須router-view作為容器。

通過路由跳轉的種四方式

1、 標簽路由 router-link

註意:router-link中,鏈接如果是’/'開頭則表示從根路由開始;如果開頭不帶‘/’,則從當前路由開始。

(1)不帶參數

<router-link :to="{name:'home'}"> 
<router-link :to="{path:'/home'}">

(2)帶參數

<router-link :to="{name:'home', params: {id:1}}">  
// params傳參數 (類似post)
// 路由配置 path: "/home/:id" 或者 path: "/home:id" 
// 不配置path ,第一次可請求,刷新頁面id會消失(比如,點擊某件商品圖片的“查看詳情”,跳轉到該商品的詳情頁面,剛開始進入詳情頁面時能拿到數據(根據商品id獲取),刷新頁面後,id丟失,頁面就取不到相應的數據瞭)
// 配置path,刷新頁面id會保留
// html 取參  $route.params.id
// script 取參  this.$route.params.id
 
<router-link :to="{name:'home', query: {id:1}}"> 
// query傳參數 (類似get,url後面會顯示參數)
// 路由可不配置
// html 取參  $route.query.id

2、編程式路由 this.$router.push()

(1)不帶參數

this.$router.push('/home')
this.$router.push({name:'home'})
this.$router.push({path:'/home'})

(2)帶參數

query傳參

this.$router.push({name:'Home',query: {id:'1'}})
this.$router.push({path:'/home',query: {id:'1'}})
// query傳參數 (類似get,頁面url後面會顯示參數)
// 路由可不配置
// html 取參 $route.query.id
// script 取參 this.$route.query.id

params傳參

this.$router.push({name:'home',params: {id:'1'}})  // 隻能用 name
// params傳參數
// 路由配置 path: "/home/:id"
// 不配置path ,第一次可請求,刷新頁面id會消失
// 配置path,刷新頁面id會保留
// html 取參 $route.params.id
// script 取參 this.$route.params.id

3、this.$router.replace()(與this.$router.push()類似)

4、this.$router.go(n)

this.$router.go(n) 向前或者向後跳轉n個頁面,n可為正整數或負整數

5、this.$router.push()、this.$router.replace()、this.$router.go(n)區別

1、this.$router.push

跳轉到指定url路徑,並在history棧中添加一個記錄,點擊後退會返回到上一個頁面

2、this.$router.replace
跳轉到指定url路徑,但是history棧中不會有記錄,點擊返回會跳轉到上上個頁面 (就是直接替換瞭當前頁面)

3、this.$router.go(n)
向前或者向後跳轉n個頁面,n可為正整數或負整數

到此這篇關於Vue路由跳轉的4種方式小結的文章就介紹到這瞭,更多相關Vue路由跳轉內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: