useRouter()
Returns the Vue Router instance for programmatic navigation and guards.
Syntax
const router = useRouter() Returns
Router — Router instance with push, replace, back, go, beforeEach, etc.
Examples
<script setup lang="ts">
const router = useRouter()
function goHome() {
router.push('/')
}
</script>
<script setup lang="ts">
const router = useRouter()
// Global guard registered from a component/plugin
router.beforeEach((to) => {
if (to.meta.requiresAuth && !isLoggedIn()) return '/login'
})
</script>
Notes
For simple navigation prefer `navigateTo()`, which is SSR-safe and
handles redirects in middleware correctly. Use `useRouter()` when you
need router methods like `back()`, `go()`, or to register navigation
guards. Calling `push` on the server has no effect; use `navigateTo`.