Vue3获取地址栏参数方法详解

 更新时间:2023年04月24日 11:54:10   作者:顽石九变  
Vue3 获取地址栏参数有两个方式:查询参数和路径参数。Vue3获取地址栏参数是从路由router中获取,查询参数和路径参数获取方式不一样。感兴趣的同学可以参考阅读

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获取地址栏参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 手把手教你创建vue3项目的最佳方式

    手把手教你创建vue3项目的最佳方式

    如今的Vue3已经势不可挡,当然搭建一个全新的Vue3项目也有了全新的方式,下面这篇文章主要给大家介绍了关于如何手把手教你创建vue3项目的最佳方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • vue使用H5的audio标签问题

    vue使用H5的audio标签问题

    这篇文章主要介绍了vue使用H5的audio标签问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • vue中methods、mounted等的使用方法解析

    vue中methods、mounted等的使用方法解析

    这篇文章主要介绍了vue中methods、mounted等的使用方法解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Vue源码学习之响应式是如何实现的

    Vue源码学习之响应式是如何实现的

    最近接触了vue.js,一度非常好奇vue.js是如何监测数据更新并且重新渲染页面,这篇文章主要给大家介绍了关于Vue源码学习之响应式是如何实现的相关资料,需要的朋友可以参考下
    2021-10-10
  • el-radio-group中的area-hidden报错的问题解决

    el-radio-group中的area-hidden报错的问题解决

    本文主要介绍了el-radio-group中的area-hidden报错的问题解决,下面就来介绍几种解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04
  • vue3 tailwindcss的使用教程

    vue3 tailwindcss的使用教程

    Tailwind是由Adam Wathan领导的TailwindLabs开发的 CSS 框架,这篇文章主要介绍了vue3 tailwindcss的使用,需要的朋友可以参考下
    2023-08-08
  • 详解vue.js之绑定class和style的示例代码

    详解vue.js之绑定class和style的示例代码

    本篇文章主要介绍了详解vue.js之绑定class和style的示例代码,具有一定的参考价值,有兴趣的可以了解一下
    2017-08-08
  • vue实现点击展开点击收起效果

    vue实现点击展开点击收起效果

    这篇文章主要介绍了vue实现点击展开,点击收起效果,首先我们需要定义data里面的数据,使用computed对data进行处理,需要的朋友可以参考下
    2018-04-04
  • 详解vue+css3做交互特效的方法

    详解vue+css3做交互特效的方法

    本篇文章主要介绍了详解vue+css3做交互特效的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Vue-element-admin平台侧边栏收缩控制问题

    Vue-element-admin平台侧边栏收缩控制问题

    这篇文章主要介绍了Vue-element-admin平台侧边栏收缩控制问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10

最新评论