本篇内容介绍了“vue3如何获取地址栏参数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!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如何获取地址栏参数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
--结束END--
本文标题: Vue3如何获取地址栏参数
本文链接: https://lsjlt.com/news/358167.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0