I am quite new to Vue in general, especially Vue3. I have a route /mypage that takes one query parameter id such as /mypage?id=hjhj.
What I am trying to achieve is to render that query parameter on /mypage?id=hjhj
router/index.js
const isServer = typeof window === 'undefined';
const history = isServer ? createMemoryHistory() : createWebHistory();
const routes = [{
path: '/',
name: 'Home',
component: Home,
},
{
path: '/about',
name: 'About',
component: About,
},
{
path: '/mypage',
name: 'mypage',
component: MyPage,
props: (route) => ({
foo: route.query.foo
}),
}
];
const router = createRouter({
history,
routes,
});
export default router;
MyPage.vue
<template>
<h2>Home</h2>
<h3>{{ this.foo }}</h3>
</template>
<script>
export default {
props: {
foo: {
type: String,
default: null,
},
},
};
</script>
result:
I should see hjhj below "Home"

$route.query.idimport { useRoute } from 'vue-router'; export default { setup() { const route = useRoute(); console.log(route.query.id); } }