Esta es mi URL: http://localhost:8888/static/?foo=true a través de la cual funciona la aplicación Vue 3.
En setup () quiero obtener el parámetro foo .
Este es mi código:
import { useRoute } from 'vue-router'; import { defineComponent, reactive, ref, Ref, watch, createApp, onMounted} from 'vue'; export default defineComponent({ name: 'App', setup() { onMounted(() => { const route = useRoute(); console.log(route); console.log(route.params.foo); console.log(route.query.foo); }); }, })¿Alguien podría decir cómo hacerlo?
Creo que el problema raíz lo está desencadenando dentro del gancho onMounted del componente App.vue. La instancia de la ruta probablemente aún no esté poblada en ese momento. Puede probarlo mediante console.log-ing route.query dentro del gancho actualizado. Una solución para usted podría ser algo como esto:
const unwatch = watch( () => route.query, (newQuery) => { console.log(newQuery.foo); unwatch(); } );Básicamente, asignaría un observador para route.query y, después de la primera actualización, el observador sería destruido.