vue3获取url地址参数的示例详解

 更新时间:2023年04月24日 15:17:06   作者:xxx1122。  
这篇文章主要介绍了vue3获取url地址参数,Vue3 获取地址栏参数有两个方式:查询参数和路径参数,文中结合示例代码给大家详细讲解,需要的朋友可以参考下

vue3获取url地址参数

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

附录: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中定义好路由以及路径参数

<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>

接着就可以在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获取url地址参数的文章就介绍到这了,更多相关vue3地址参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解

    vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解

    今天小编就为大家分享一篇vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • 在vue中实现清除echarts上次保留的数据(亲测有效)

    在vue中实现清除echarts上次保留的数据(亲测有效)

    这篇文章主要介绍了在vue中实现清除echarts上次保留的数据(亲测有效),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Vue2响应式系统之嵌套

    Vue2响应式系统之嵌套

    这篇文章主要介绍了Vue响应式系统之嵌套,我们在开发中肯定存在组件嵌套组件的情况,下文将举例说明情况,需要的小伙伴可以参考一下
    2022-04-04
  • Vue 3 中使用路由参数跳转时 watch 触发重复请求问题解决

    Vue 3 中使用路由参数跳转时 watch 触发重复请求问题解决

    Vue3中watch(route.query.id)可能因跨页参数变化重复触发请求,需通过路由name判断当前页面,避免误操作,route.query是响应式,setup不重执行,watch需手动处理上下文,本文给大家介绍Vue 3 中使用路由参数跳转时 watch 触发重复请求问题解决,感兴趣的朋友一起看看吧
    2025-07-07
  • vue中install方法介绍

    vue中install方法介绍

    这篇文章主要给大家分享了 vue中install方法介绍,vue提供install可供我们开发新的插件及全局注册组件等,感兴趣的小伙伴请和小编一起进入文章了解具体内容吧

    2021-11-11
  • vuex actions传递多参数的处理方法

    vuex actions传递多参数的处理方法

    今天小编就为大家分享一篇vuex actions传递多参数的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue前端柱状图实例(叠状条形图)

    Vue前端柱状图实例(叠状条形图)

    这篇文章主要介绍了Vue前端柱状图实例(叠状条形图),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 使用Vue实现带拖动和播放功能的时间轴

    使用Vue实现带拖动和播放功能的时间轴

    这篇文章主要为大家详细介绍了如何使用Vue实现带拖动和播放功能的时间轴,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • vue ElementUI的from表单实现登录效果的示例

    vue ElementUI的from表单实现登录效果的示例

    本文主要介绍了vue ElementUI的from表单实现登录效果的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue实现循环滚动列表

    vue实现循环滚动列表

    这篇文章主要为大家详细介绍了vue实现循环滚动列表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06

最新评论