[SOLVED] Newbie question: how to get a router reference?
-
How can I get a router reference inside a click handler ?
<template> <div> <q-btn color="primary" label="Submit" @click="onClick" /> </div> </template> <script lang="ts"> export default { setup() { function onClick() { console.log('onClick'); //router.replace({ path: '/home' }) } return { onClick }; } } </script>
-
This post is deleted! -
here’s a thread about it:
https://forum.quasar-framework.org/topic/3960/access-router-outside-vue/7Easy answer is use the options API instead and you can do:
this.$router
-
@marco are you using Quasar v2? then see this https://next.router.vuejs.org/guide/advanced/composition-api.html.
otherwise see the thread that @dobbel linked above. -
Thanks @metalsadman
Now it works!
My lack of understanding how next.router works.<script lang="ts"> import { defineComponent } from 'vue' import { useRouter, useRoute } from 'vue-router' export default defineComponent({ setup() { const router = useRouter() const route = useRoute() function onClick() { router.push({ path: '/home' }) } return { onClick }; } }) </script>