目录vue3获取url地址参数附录:Vue3获取地址栏参数一、查询参数二、路径参数三、注意点vue3获取url地址参数 import { useRouter, useRoute }
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获取地址栏参数是从路由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地址参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: vue3获取url地址参数的示例详解
本文链接: http://www.lsjlt.com/news/211130.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0