Supongamos que tengo esta URL http://localhost:8080/public/form?code=fhuZ15aHy
He definido una ruta en mi archivo route.js como esta
{ path: '/public/form?code=:code', name: 'survey', component: () => import('./views/form') } que se supone que reutiliza el mismo componente en función del parámetro de consulta de code que proviene de la URL.
En mi componente form.vue , he definido un accesorio como este:
props: { code: { type: String, required: true } }Pero esto no funciona, en el sentido de que no soy redirigido a ninguna página.
Creo que lo estoy haciendo mal con la forma en que definí el camino de la ruta. ¿Cómo puedo conseguir esto?
No defina la consulta dentro de la ruta.
Deberías escribir así:
{ path: '/public/form', name: 'survey', component: () => import('./views/form') } router.push({ path: '/public/form', query: { code } })Y dentro del componente puedes acceder a la consulta así
const {code} = this.$route.query