您好,登錄后才能下訂單哦!
這篇文章主要講解了“Vue3怎么獲取地址欄參數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“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怎么獲取地址欄參數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。