Vue Router — official router.
Setup:
1// router/index.ts2import { createRouter, createWebHistory } from "vue-router"34const router = createRouter({5 history: createWebHistory(),6 routes: [7 { path: "/", component: Home },8 { path: "/user/:id", component: User, props: true },9 { path: "/admin", component: Admin, meta: { requiresAuth: true } }10 ]11})
Navigation:
1<script setup>2import { useRouter, useRoute } from "vue-router"34const router = useRouter()5const route = useRoute()67const goToUser = (id) => router.push(`/user/${id}`)8</script>910<template>11 <RouterLink to="/">Home</RouterLink>12 <RouterView />13</template>
Key: RouterLink for links, useRouter for navigation.