vue3怎么获取url地址参数

其他教程   发布日期:2025年04月10日   浏览次数:415

这篇“vue3怎么获取url地址参数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3怎么获取url地址参数”文章吧。

vue3获取url地址参数

  1. import { useRouter, useRoute } from 'vue-router';
  2. setup() {
  3. let router = useRouter();
  4. let route = useRoute();
  5. }
  6. function GetRequest(value) {
  7. var url = decodeURI(window.location.search); //?id="123456"&name="www";
  8. var object = {};
  9. if (url.indexOf("?") != -1)//url中存在问号,也就说有参数。
  10. {
  11. var str = url.substr(1); //得到?后面的字符串
  12. var strs = str.split("&"); //将得到的参数分隔成数组[id="123456",name="www"];
  13. for (var i = 0; i < strs.length; i++) {
  14. object[strs[i].split("=")[0]] = strs[i].split("=")[1];//得到{id:'123456',name:'www'}
  15. }
  16. }
  17. return object[value];
  18. }

附录:Vue3获取地址栏参数

Vue3 获取地址栏参数有两个方式:查询参数和路径参数。

Vue3获取地址栏参数是从路由router中获取,查询参数和路径参数获取方式不一样。

一、查询参数

比如地址 http://127.0.0.1:5173/?code=123123,
我们要获取code参数可以路由router获取,注意是

  1. route.query

首先需要在router/index.js中定义好路由

  1. import { createRouter, createWebHistory } from 'vue-router'
  2. const router = createRouter({
  3. history: createWebHistory(import.meta.env.BASE_URL),
  4. routes: [
  5. {
  6. path: '/',
  7. name: 'home',
  8. component: () => import('../views/home.vue')
  9. },
  10. ]
  11. })
  12. export default router

然后就可以在组件中通过useRouter获取query参数了

  1. <script setup>
  2. import {useRouter} from 'vue-router'
  3. const { currentRoute } = useRouter();
  4. const route = currentRoute.value;
  5. onMounted(()=>{
  6. let code=route.query.code
  7. console.log('code', code)
  8. })
  9. </script>

二、路径参数

路径参数指的是参数是拼接在地址栏中的。
比如地址 http://127.0.0.1:5173/123123
最后的123123就是参数。

这种参数首先要定义要路由,在路由中对参数进行命名,下面代码中:code就是命名一个路径参数code

首先需要在router/index.js中定义好路由以及路径参数

  1. <script setup>
  2. import {useRouter} from 'vue-router'
  3. const { currentRoute } = useRouter();
  4. const route = currentRoute.value;
  5. onMounted(()=>{
  6. let code=route.query.code
  7. console.log('code', code)
  8. })
  9. </script>

接着就可以在home.vue组件中通过路由useRouter得到参数,注意是

  1. route.params
  1. <script setup>
  2. import {useRouter} from 'vue-router'
  3. const { currentRoute } = useRouter();
  4. const route = currentRoute.value;
  5. onMounted(()=>{
  6. let code=route.params.code
  7. console.log('code', code)
  8. })
  9. </script>

三、注意点

入口页面

  1. App.vue
必须定义好
  1. router-view
标签,不能图简单将上面定义的home组件直接引入到
  1. App.vue
中,如果直接引入走的就不是路由了,因而通过
  1. useRouter
也无法获取到路由参数了

如下错误示例:

  1. <template>
  2. <div id="app">
  3. <home></home>
  4. </div>
  5. </template>
  6. <script setup>
  7. import home from './views/home.vue';
  8. </script>

正确应该是使用

  1. router-view
标签
  1. <template>
  2. <div id="app">
  3. <router-view></router-view>
  4. </div>
  5. </template>
  6. <script setup>
  7. </script>

以上就是vue3怎么获取url地址参数的详细内容,更多关于vue3怎么获取url地址参数的资料请关注九品源码其它相关文章!