0


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')},]})exportdefault 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')},]})exportdefault 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><divid="app"><home></home></div></template><scriptsetup>import home from'./views/home.vue';</script>

正确应该是使用

router-view

标签

<template><divid="app"><router-view></router-view></div></template><scriptsetup></script>

本文转载自: https://blog.csdn.net/wlddhj/article/details/130315139
版权归原作者 顽石九变 所有, 如有侵权,请联系我们删除。

“Vue3获取地址栏参数”的评论:

还没有评论