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!
推薦閱讀:
- vue中路由跳轉的方式有哪些你知道嗎
- vue如何通過點擊事件實現頁面跳轉詳解
- 詳解Vue路由傳參的兩種方式query和params
- vue-route路由管理的安裝與配置方法
- Vue路由router詳解