Vue3獲取地址欄參數方法詳解
Vue3 獲取地址欄參數有兩個方式:查詢參數和路徑參數。
Vue3獲取地址欄參數是從路由router中獲取,查詢參數和路徑參數獲取方式不一樣。
一、查詢參數
比如地址 http://127.0.0.1:5173/?code=123123,
我們要獲取code參數可以路由router獲取,注意是route.query
首先需要在router/index.js中定義好路由
import { createRouter, createWebHistory } from 'vue-router'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/',
name: 'home',
component: () => import('../views/home.vue')
},
]
})
export default router
然后就可以在組件中通過useRouter獲取query參數了
<script setup>
import {useRouter} from 'vue-router'
const { currentRoute } = useRouter();
const route = currentRoute.value;
onMounted(()=>{
let code=route.query.code
console.log('code', code)
})
</script>
二、路徑參數
路徑參數指的是參數是拼接在地址欄中的。
比如地址 http://127.0.0.1:5173/123123
最后的123123就是參數。
這種參數首先要定義要路由,在路由中對參數進行命名,下面代碼中:code就是命名一個路徑參數code
首先需要在router/index.js中定義好路由以及路徑參數
import { createRouter, createWebHistory } from 'vue-router'
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/:code',
name: 'home',
component: () => import('../views/home.vue')
},
]
})
export default router
接著就可以在home.vue組件中通過路由useRouter得到參數,注意是route.params
<script setup>
import {useRouter} from 'vue-router'
const { currentRoute } = useRouter();
const route = currentRoute.value;
onMounted(()=>{
let code=route.params.code
console.log('code', code)
})
</script>
三、注意點
入口頁面App.vue必須定義好router-view標簽,不能圖簡單將上面定義的home組件直接引入到App.vue中,如果直接引入走的就不是路由了,因而通過useRouter也無法獲取到路由參數了
如下錯誤示例:
<template>
<div id="app">
<home></home>
</div>
</template>
<script setup>
import home from './views/home.vue';
</script>
正確應該是使用router-view標簽
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script setup>
</script>
到此這篇關于Vue3獲取地址欄參數方法詳解的文章就介紹到這了,更多相關Vue3獲取地址欄參數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
el-radio-group中的area-hidden報錯的問題解決
本文主要介紹了el-radio-group中的area-hidden報錯的問題解決,下面就來介紹幾種解決方法,具有一定的參考價值,感興趣的可以了解一下2025-04-04

