CINXE.COM

Vue Router | The official Router for Vue.js

<!DOCTYPE html> <html lang="en-US" dir="ltr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Vue Router | The official Router for Vue.js</title> <meta name="description" content="The official Router for Vue.js"> <meta name="generator" content="VitePress v1.5.0"> <link rel="preload stylesheet" href="/assets/style.DpzhneRq.css" as="style"> <link rel="preload stylesheet" href="/vp-icons.css" as="style"> <script type="module" src="/assets/app.BiH5cNYq.js"></script> <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin=""> <link rel="modulepreload" href="/assets/chunks/theme.DAStl1IB.js"> <link rel="modulepreload" href="/assets/chunks/framework.Cl57Dsmt.js"> <link rel="modulepreload" href="/assets/chunks/HomeSponsors.BNbkRDn0.js"> <link rel="modulepreload" href="/assets/index.md.BE0Mnue2.lean.js"> <link rel="icon" type="image/svg+xml" href="/logo.svg"> <link rel="icon" type="image/png" href="/logo.png"> <meta name="wwads-cn-verify" content="7e7757b1e12abcb736ab9a754ffb617a"> <meta property="og:type" content="website"> <meta property="twitter:card" content="summary_large_image"> <script src="https://cdn.usefathom.com/script.js" data-site="RENJQDQI" data-spa="auto" defer></script> <script src="https://vueschool.io/banner.js?affiliate=vuerouter&amp;type=top" async type="text/javascript"></script> <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"dark",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script> <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script> <meta property="og:url" content="https://router.vuejs.org"> <meta property="og:description" content="The official Router for Vue.js"> <meta property="twitter:url" content="https://router.vuejs.org"> <meta property="twitter:title" content="Vue Router"> <meta property="twitter:description" content="The official Router for Vue.js"> </head> <body> <div id="app"><div class="Layout" data-v-ac8155a0><!--[--><!----><!--]--><!--[--><span tabindex="-1" data-v-01178762></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-01178762> Skip to content </a><!--]--><!----><header class="VPNav" data-v-ac8155a0 data-v-76bbd79c><div class="VPNavBar" data-v-76bbd79c data-v-9fa11180><div class="wrapper" data-v-9fa11180><div class="container" data-v-9fa11180><div class="title" data-v-9fa11180><div class="VPNavBarTitle" data-v-9fa11180 data-v-e0cd382e><a class="title" href="/" data-v-e0cd382e><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.svg" alt data-v-02d45c6a><!--]--><span data-v-e0cd382e>Vue Router</span><!--[--><!--]--></a></div></div><div class="content" data-v-9fa11180><div class="content-body" data-v-9fa11180><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9fa11180><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9fa11180 data-v-b731cddf><span id="main-nav-aria-label" class="visually-hidden" data-v-b731cddf> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide/" tabindex="0" data-v-b731cddf data-v-2e1caf50><!--[--><span data-v-2e1caf50>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/api/" tabindex="0" data-v-b731cddf data-v-2e1caf50><!--[--><span data-v-2e1caf50>API</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-b731cddf data-v-0f960ecd><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-0f960ecd><span class="text" data-v-0f960ecd><!----><span data-v-0f960ecd>v4.x</span><span class="vpi-chevron-down text-icon" data-v-0f960ecd></span></span></button><div class="menu" data-v-0f960ecd><div class="VPMenu" data-v-0f960ecd data-v-4538e824><div class="items" data-v-4538e824><!--[--><!--[--><div class="VPMenuLink" data-v-4538e824 data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://v3.router.vuejs.org" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>v3.x</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-b731cddf data-v-0f960ecd><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-0f960ecd><span class="text" data-v-0f960ecd><!----><span data-v-0f960ecd>Links</span><span class="vpi-chevron-down text-icon" data-v-0f960ecd></span></span></button><div class="menu" data-v-0f960ecd><div class="VPMenu" data-v-0f960ecd data-v-4538e824><div class="items" data-v-4538e824><!--[--><!--[--><div class="VPMenuLink" data-v-4538e824 data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://github.com/vuejs/router/discussions" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>Discussions</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-4538e824 data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>Changelog</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-4538e824 data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://certificates.dev/vuejs/?friend=VUEROUTER&amp;utm_source=router_vuejs&amp;utm_medium=link&amp;utm_campaign=router_vuejs_links&amp;utm_content=navbar" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>Vue.js Certification</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-9fa11180 data-v-0a0ad5aa data-v-0f960ecd><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-0f960ecd><span class="text" data-v-0f960ecd><span class="vpi-languages option-icon" data-v-0f960ecd></span><!----><span class="vpi-chevron-down text-icon" data-v-0f960ecd></span></span></button><div class="menu" data-v-0f960ecd><div class="VPMenu" data-v-0f960ecd data-v-4538e824><!----><!--[--><!--[--><div class="items" data-v-0a0ad5aa><p class="title" data-v-0a0ad5aa>English</p><!--[--><div class="VPMenuLink" data-v-0a0ad5aa data-v-c8799ee6><a class="VPLink link" href="/zh/" data-v-c8799ee6><!--[--><span data-v-c8799ee6>简体中文</span><!--]--></a></div><div class="VPMenuLink" data-v-0a0ad5aa data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://router.vuejs.kr/" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>한국어</span><!--]--></a></div><div class="VPMenuLink" data-v-0a0ad5aa data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://vue-router-docs-pt.netlify.app/" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>Português</span><!--]--></a></div><div class="VPMenuLink" data-v-0a0ad5aa data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://vue-router-ru.netlify.app/" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>Русский</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-9fa11180 data-v-73c28608><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="true" data-v-73c28608 data-v-197162c4 data-v-9f79982b><span class="check" data-v-9f79982b><span class="icon" data-v-9f79982b><!--[--><span class="vpi-sun sun" data-v-197162c4></span><span class="vpi-moon moon" data-v-197162c4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9fa11180 data-v-b3e0a296 data-v-1c347d79><!--[--><a class="VPSocialLink no-icon" href="https://twitter.com/posva" aria-label="x" target="_blank" rel="noopener" data-v-1c347d79 data-v-ea927f3c><span class="vpi-social-x"></span></a><a class="VPSocialLink no-icon" href="https://github.com/vuejs/router" aria-label="github" target="_blank" rel="noopener" data-v-1c347d79 data-v-ea927f3c><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://chat.vuejs.org" aria-label="discord" target="_blank" rel="noopener" data-v-1c347d79 data-v-ea927f3c><span class="vpi-social-discord"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9fa11180 data-v-ce037668 data-v-0f960ecd><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-0f960ecd><span class="vpi-more-horizontal icon" data-v-0f960ecd></span></button><div class="menu" data-v-0f960ecd><div class="VPMenu" data-v-0f960ecd data-v-4538e824><!----><!--[--><!--[--><div class="group translations" data-v-ce037668><p class="trans-title" data-v-ce037668>English</p><!--[--><div class="VPMenuLink" data-v-ce037668 data-v-c8799ee6><a class="VPLink link" href="/zh/" data-v-c8799ee6><!--[--><span data-v-c8799ee6>简体中文</span><!--]--></a></div><div class="VPMenuLink" data-v-ce037668 data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://router.vuejs.kr/" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>한국어</span><!--]--></a></div><div class="VPMenuLink" data-v-ce037668 data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://vue-router-docs-pt.netlify.app/" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>Português</span><!--]--></a></div><div class="VPMenuLink" data-v-ce037668 data-v-c8799ee6><a class="VPLink link vp-external-link-icon" href="https://vue-router-ru.netlify.app/" target="_blank" rel="noreferrer" data-v-c8799ee6><!--[--><span data-v-c8799ee6>Русский</span><!--]--></a></div><!--]--></div><div class="group" data-v-ce037668><div class="item appearance" data-v-ce037668><p class="label" data-v-ce037668>Appearance</p><div class="appearance-action" data-v-ce037668><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="true" data-v-ce037668 data-v-197162c4 data-v-9f79982b><span class="check" data-v-9f79982b><span class="icon" data-v-9f79982b><!--[--><span class="vpi-sun sun" data-v-197162c4></span><span class="vpi-moon moon" data-v-197162c4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-ce037668><div class="item social-links" data-v-ce037668><div class="VPSocialLinks social-links-list" data-v-ce037668 data-v-1c347d79><!--[--><a class="VPSocialLink no-icon" href="https://twitter.com/posva" aria-label="x" target="_blank" rel="noopener" data-v-1c347d79 data-v-ea927f3c><span class="vpi-social-x"></span></a><a class="VPSocialLink no-icon" href="https://github.com/vuejs/router" aria-label="github" target="_blank" rel="noopener" data-v-1c347d79 data-v-ea927f3c><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://chat.vuejs.org" aria-label="discord" target="_blank" rel="noopener" data-v-1c347d79 data-v-ea927f3c><span class="vpi-social-discord"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9fa11180 data-v-ae833b60><span class="container" data-v-ae833b60><span class="top" data-v-ae833b60></span><span class="middle" data-v-ae833b60></span><span class="bottom" data-v-ae833b60></span></span></button></div></div></div></div><div class="divider" data-v-9fa11180><div class="divider-line" data-v-9fa11180></div></div></div><!----></header><!----><!----><div class="VPContent is-home" id="VPContent" data-v-ac8155a0 data-v-51bd5df3><div class="VPHome" data-v-51bd5df3 data-v-b504da0b><!--[--><!--]--><div class="VPHero has-image VPHomeHero" data-v-b504da0b data-v-bf72f0be><div class="container" data-v-bf72f0be><div class="main" data-v-bf72f0be><!--[--><!--]--><!--[--><h1 class="name" data-v-bf72f0be><span class="clip" data-v-bf72f0be>Vue Router</span></h1><p class="text" data-v-bf72f0be>The official Router for Vue.js</p><p class="tagline" data-v-bf72f0be>Expressive, configurable and convenient routing for Vue.js</p><!--]--><!--[--><!--]--><div class="actions" data-v-bf72f0be><!--[--><div class="action" data-v-bf72f0be><a class='VPButton medium brand' data-v-bf72f0be data-v-dec761aa href='/installation'>Get Started</a></div><div class="action" data-v-bf72f0be><a class="VPButton medium cta vueschool" href="https://vueschool.io/courses/vue-router-4-for-everyone?friend=vuerouter&amp;utm_source=vuerouter&amp;utm_medium=link&amp;utm_campaign=homepage" target="_blank" rel="noreferrer" data-v-bf72f0be data-v-dec761aa>Free Video Course</a></div><div class="action" data-v-bf72f0be><a class="VPButton medium cta vue-mastery" href="https://www.vuemastery.com/vue-router?coupon=ROUTER-DOCS&amp;via=eduardo" target="_blank" rel="noreferrer" data-v-bf72f0be data-v-dec761aa>Get the Vue Router Cheat Sheet</a></div><!--]--></div><!--[--><!--]--></div><div class="image" data-v-bf72f0be><div class="image-container" data-v-bf72f0be><div class="image-bg" data-v-bf72f0be></div><!--[--><!--[--><img class="VPImage image-src" src="/logo.svg" alt="Vue Router" data-v-02d45c6a><!--]--><!--]--></div></div></div></div><!--[--><!--]--><!--[--><!--]--><div class="VPFeatures VPHomeFeatures" data-v-b504da0b data-v-f12a0d01><div class="container" data-v-f12a0d01><div class="items" data-v-f12a0d01><!--[--><div class="grid-6 item" data-v-f12a0d01><div class="VPLink no-icon VPFeature" data-v-f12a0d01 data-v-6232e079><!--[--><article class="box" data-v-6232e079><!----><h2 class="title" data-v-6232e079>🛣 Expressive route syntax</h2><p class="details" data-v-6232e079>Define static and dynamic routes with an intuitive and powerful syntax.</p><!----></article><!--]--></div></div><div class="grid-6 item" data-v-f12a0d01><div class="VPLink no-icon VPFeature" data-v-f12a0d01 data-v-6232e079><!--[--><article class="box" data-v-6232e079><!----><h2 class="title" data-v-6232e079>🛑 Fine-grained Navigation control</h2><p class="details" data-v-6232e079>Intercept any navigation and precisely control its outcome.</p><!----></article><!--]--></div></div><div class="grid-6 item" data-v-f12a0d01><div class="VPLink no-icon VPFeature" data-v-f12a0d01 data-v-6232e079><!--[--><article class="box" data-v-6232e079><!----><h2 class="title" data-v-6232e079>🧱 Component-based configuration</h2><p class="details" data-v-6232e079>Map each route to the component that should display.</p><!----></article><!--]--></div></div><div class="grid-6 item" data-v-f12a0d01><div class="VPLink no-icon VPFeature" data-v-f12a0d01 data-v-6232e079><!--[--><article class="box" data-v-6232e079><!----><h2 class="title" data-v-6232e079>🔌 History modes</h2><p class="details" data-v-6232e079>Choose between HTML5, Hash or Memory history modes.</p><!----></article><!--]--></div></div><div class="grid-6 item" data-v-f12a0d01><div class="VPLink no-icon VPFeature" data-v-f12a0d01 data-v-6232e079><!--[--><article class="box" data-v-6232e079><!----><h2 class="title" data-v-6232e079>🎚 Scroll control</h2><p class="details" data-v-6232e079>Precisely control the scroll position in every page.</p><!----></article><!--]--></div></div><div class="grid-6 item" data-v-f12a0d01><div class="VPLink no-icon VPFeature" data-v-f12a0d01 data-v-6232e079><!--[--><article class="box" data-v-6232e079><!----><h2 class="title" data-v-6232e079>🌐 Automatic Encoding</h2><p class="details" data-v-6232e079>Directly use unicode characters (你好) in your code.</p><!----></article><!--]--></div></div><!--]--></div></div></div><!--[--><!--]--><div class="vp-doc container" style="" data-v-b504da0b data-v-63e7e268><!--[--><div style="position:relative;" data-v-b504da0b><div><div class="sponsors_outer" data-v-ee141463><div data-v-ee141463><!----><!----><!--[--><h3 data-v-a485580d>Silver Sponsors</h3><p data-v-a485580d><!--[--><a href="https://route4me.com" title="Route Optimizer and Route Planner Software" target="_blank" rel="sponsored noopener" class="apply-bg sponsor_wrapper" data-v-a485580d><img src="https://posva-sponsors.pages.dev/logos/route4me.png" class="invert-colors" alt="Route Optimizer and Route Planner Software" style="height:24px;" data-v-a485580d></a><a href="https://www.prefect.io/" title="Prefect" target="_blank" rel="sponsored noopener" class="sponsor_wrapper" data-v-a485580d><img src="https://posva-sponsors.pages.dev/logos/prefectlogo-dark.svg" class="" alt="Prefect" style="height:24px;" data-v-a485580d></a><a href="https://www.vuemastery.com/" title="VueMastery" target="_blank" rel="sponsored noopener" class="sponsor_wrapper" data-v-a485580d><img src="https://posva-sponsors.pages.dev/logos/vuemastery-dark.png" class="" alt="VueMastery" style="height:24px;" data-v-a485580d></a><!--]--></p><!--]--><div class="cta" data-v-ee141463><a class="become-sponsor" href="https://github.com/sponsors/posva" data-v-ee141463>Become a Sponsor!</a></div></div></div></div></div><!--]--></div></div></div><footer class="VPFooter" data-v-ac8155a0 data-v-1ddd2076><div class="container" data-v-1ddd2076><p class="message" data-v-1ddd2076>Released under the MIT License.</p><p class="copyright" data-v-1ddd2076>Copyright © 2014-present Evan You, Eduardo San Martin Morote</p></div></footer><!--[--><!--]--></div></div> <script>window.__VP_HASH_MAP__=JSON.parse("{\"api_enumerations_errortypes.md\":\"BRc5LRE6\",\"api_enumerations_navigationfailuretype.md\":\"Tbtd-vbe\",\"api_functions_creatememoryhistory.md\":\"DtfKRAca\",\"api_functions_createrouter.md\":\"Be2lH4j1\",\"api_functions_createroutermatcher.md\":\"BwR-EGu3\",\"api_functions_createwebhashhistory.md\":\"DYWSictB\",\"api_functions_createwebhistory.md\":\"CoZZ9inR\",\"api_functions_isnavigationfailure.md\":\"CFtdwqu3\",\"api_functions_loadroutelocation.md\":\"KfgJ8qbg\",\"api_functions_onbeforerouteleave.md\":\"Cx10jZ__\",\"api_functions_onbeforerouteupdate.md\":\"Cy8qUXHn\",\"api_functions_parsequery.md\":\"BwVrR05k\",\"api_functions_stringifyquery.md\":\"BQDs_KSy\",\"api_functions_uselink.md\":\"CrTDMwqn\",\"api_functions_useroute.md\":\"CXt83F4e\",\"api_functions_userouter.md\":\"BgdW3Syz\",\"api_index.md\":\"C1FDO5z5\",\"api_interfaces_historystate.md\":\"BpYQapz3\",\"api_interfaces_locationasrelativeraw.md\":\"BOD6tv1D\",\"api_interfaces_matcherlocation.md\":\"BniaU0M1\",\"api_interfaces_matcherlocationaspath.md\":\"Ch6JOLn6\",\"api_interfaces_navigationfailure.md\":\"CIRl9Jhf\",\"api_interfaces_navigationguard.md\":\"BWHwnpRr\",\"api_interfaces_navigationguardnext.md\":\"BVRDBnpp\",\"api_interfaces_navigationguardwiththis.md\":\"0uQZ4VRE\",\"api_interfaces_navigationhookafter.md\":\"JzD6_1Ou\",\"api_interfaces_navigationredirecterror.md\":\"CZvB0zYJ\",\"api_interfaces_pathparseroptions.md\":\"cASurPGS\",\"api_interfaces_routelocationaspathgeneric.md\":\"CfmNnT0p\",\"api_interfaces_routelocationaspathtyped.md\":\"D_Q9_XKS\",\"api_interfaces_routelocationasrelativegeneric.md\":\"BI1KWowk\",\"api_interfaces_routelocationasrelativetyped.md\":\"BJp1Rr1J\",\"api_interfaces_routelocationbase.md\":\"CPfI9QPP\",\"api_interfaces_routelocationgeneric.md\":\"CkD7_JJY\",\"api_interfaces_routelocationmatched.md\":\"Dx1lDEDQ\",\"api_interfaces_routelocationnamedraw.md\":\"JpGbj4t4\",\"api_interfaces_routelocationnormalizedgeneric.md\":\"5GYf9Mc0\",\"api_interfaces_routelocationnormalizedloadedgeneric.md\":\"BcDeL3XV\",\"api_interfaces_routelocationnormalizedloadedtyped.md\":\"BLzoh2_W\",\"api_interfaces_routelocationnormalizedtyped.md\":\"B1qN9cak\",\"api_interfaces_routelocationoptions.md\":\"DKE-pspH\",\"api_interfaces_routelocationpathraw.md\":\"xkFnawXp\",\"api_interfaces_routelocationresolvedgeneric.md\":\"WT_T2W7C\",\"api_interfaces_routelocationresolvedtyped.md\":\"BhTMTE-z\",\"api_interfaces_routelocationtyped.md\":\"Bf71oqwu\",\"api_interfaces_routemeta.md\":\"CxH0ZTeG\",\"api_interfaces_routequeryandhash.md\":\"D4ExTYu-\",\"api_interfaces_router.md\":\"CamApF8a\",\"api_interfaces_routerecordbase.md\":\"Dl9HGB50\",\"api_interfaces_routerecordinfo.md\":\"dfYLALwF\",\"api_interfaces_routerecordmultipleviews.md\":\"eh1ErCXs\",\"api_interfaces_routerecordmultipleviewswithchildren.md\":\"B4Ga2o_Y\",\"api_interfaces_routerecordnormalized.md\":\"4oZjqMLR\",\"api_interfaces_routerecordredirect.md\":\"jgW5d2t_\",\"api_interfaces_routerecordsingleview.md\":\"BLf1nzdM\",\"api_interfaces_routerecordsingleviewwithchildren.md\":\"C6u1C1hH\",\"api_interfaces_routerhistory.md\":\"CnPadI16\",\"api_interfaces_routerlinki.md\":\"Dx1GT26w\",\"api_interfaces_routerlinkprops.md\":\"DA2_Q-Iq\",\"api_interfaces_routermatcher.md\":\"M5SONplz\",\"api_interfaces_routeroptions.md\":\"B9tgPXGN\",\"api_interfaces_routerscrollbehavior.md\":\"D_PXRh6u\",\"api_interfaces_routerviewprops.md\":\"CnCa799_\",\"api_interfaces_typesconfig.md\":\"BkoRCJrg\",\"api_interfaces_uselinkoptions.md\":\"DIubI8Qi\",\"api_interfaces_uselinkreturn.md\":\"BY7KBAZH\",\"api_type-aliases_awaitable.md\":\"D_YK9XrA\",\"api_type-aliases_locationquery.md\":\"BIPrR8N3\",\"api_type-aliases_locationqueryraw.md\":\"C2bTE3Or\",\"api_type-aliases_locationqueryvalue.md\":\"BQ4SulLl\",\"api_type-aliases_locationqueryvalueraw.md\":\"BqjqX8OS\",\"api_type-aliases_navigationguardnextcallback.md\":\"DUworlHK\",\"api_type-aliases_navigationguardreturn.md\":\"C9DfA-nc\",\"api_type-aliases_paramvalue.md\":\"DYGExEEx\",\"api_type-aliases_paramvalueoneormore.md\":\"DgJJREyZ\",\"api_type-aliases_paramvaluezeroormore.md\":\"BLQresz1\",\"api_type-aliases_paramvaluezeroorone.md\":\"CqsiS6Qc\",\"api_type-aliases_pathparseroptions.md\":\"BRQnFJkF\",\"api_type-aliases_routecomponent.md\":\"DZTGweq9\",\"api_type-aliases_routelocation.md\":\"Bq-LBIm_\",\"api_type-aliases_routelocationaspath.md\":\"D3AkLsyJ\",\"api_type-aliases_routelocationaspathtypedlist.md\":\"C9PrMW_T\",\"api_type-aliases_routelocationasrelative.md\":\"BfbHY0N3\",\"api_type-aliases_routelocationasrelativetypedlist.md\":\"0xR84iIO\",\"api_type-aliases_routelocationasstring.md\":\"D-DZMuyc\",\"api_type-aliases_routelocationasstringtyped.md\":\"KuDJ3unG\",\"api_type-aliases_routelocationasstringtypedlist.md\":\"ZC5Au_xf\",\"api_type-aliases_routelocationnormalized.md\":\"gJQHQSF9\",\"api_type-aliases_routelocationnormalizedloaded.md\":\"N6EIJrWQ\",\"api_type-aliases_routelocationnormalizedloadedtypedlist.md\":\"CwoIUGp0\",\"api_type-aliases_routelocationnormalizedtypedlist.md\":\"46OpLDQK\",\"api_type-aliases_routelocationraw.md\":\"Cf3SLxyn\",\"api_type-aliases_routelocationresolved.md\":\"DgAmdVsm\",\"api_type-aliases_routelocationresolvedtypedlist.md\":\"DQL2HnAC\",\"api_type-aliases_routelocationtypedlist.md\":\"w2DupDcs\",\"api_type-aliases_routemap.md\":\"DMgjkso7\",\"api_type-aliases_routemapgeneric.md\":\"D2W5hhrD\",\"api_type-aliases_routeparams.md\":\"D1ujw7cT\",\"api_type-aliases_routeparamsgeneric.md\":\"CFNdRqei\",\"api_type-aliases_routeparamsraw.md\":\"JwG2imnT\",\"api_type-aliases_routeparamsrawgeneric.md\":\"DK7lCqz_\",\"api_type-aliases_routeparamvalue.md\":\"hwszX4Tn\",\"api_type-aliases_routeparamvalueraw.md\":\"DlcpLy0B\",\"api_type-aliases_routerecord.md\":\"xPrHmZr0\",\"api_type-aliases_routerecordname.md\":\"K4PBiLLx\",\"api_type-aliases_routerecordnamegeneric.md\":\"BWA0mH1o\",\"api_type-aliases_routerecordprops.md\":\"DoR2uF7P\",\"api_type-aliases_routerecordraw.md\":\"lZcdcJB5\",\"api_type-aliases_routerecordredirectoption.md\":\"7gJNZff1\",\"api_variables_matchedroutekey.md\":\"CGgZonA2\",\"api_variables_routelocationkey.md\":\"5ZTwmu9R\",\"api_variables_routerkey.md\":\"Ba6es7m1\",\"api_variables_routerlink.md\":\"DJ2y-hdH\",\"api_variables_routerview.md\":\"DBHpPs94\",\"api_variables_routerviewlocationkey.md\":\"CwoI2xuN\",\"api_variables_start_location.md\":\"raw8aEh8\",\"api_variables_viewdepthkey.md\":\"B655NZrV\",\"guide_advanced_composition-api.md\":\"BNNFRIKA\",\"guide_advanced_data-fetching.md\":\"D1stiSNQ\",\"guide_advanced_dynamic-routing.md\":\"iBO3iLYk\",\"guide_advanced_extending-router-link.md\":\"Com53quz\",\"guide_advanced_lazy-loading.md\":\"DUoWAf3r\",\"guide_advanced_meta.md\":\"C5V0L1pp\",\"guide_advanced_navigation-failures.md\":\"DlvagLHd\",\"guide_advanced_navigation-guards.md\":\"iOVRSwwI\",\"guide_advanced_router-view-slot.md\":\"CjL8E-ru\",\"guide_advanced_scroll-behavior.md\":\"FBVykcGl\",\"guide_advanced_transitions.md\":\"wRQVOOA-\",\"guide_advanced_typed-routes.md\":\"BeXYIj1j\",\"guide_essentials_active-links.md\":\"Co0mULEQ\",\"guide_essentials_dynamic-matching.md\":\"NAMX8UPr\",\"guide_essentials_history-mode.md\":\"CYTU6OFe\",\"guide_essentials_named-routes.md\":\"B_TH5Lvl\",\"guide_essentials_named-views.md\":\"B-0BzkG5\",\"guide_essentials_navigation.md\":\"B2eEeTcI\",\"guide_essentials_nested-routes.md\":\"C5z1zbID\",\"guide_essentials_passing-props.md\":\"DnvjvaUM\",\"guide_essentials_redirect-and-alias.md\":\"DKUjlwii\",\"guide_essentials_route-matching-syntax.md\":\"CqUi6f72\",\"guide_index.md\":\"WVgoTPho\",\"guide_migration_index.md\":\"CjnB4T8V\",\"index.md\":\"BE0Mnue2\",\"installation.md\":\"ggq6CdhR\",\"introduction.md\":\"BeBS9JnQ\",\"zh_about-translation.md\":\"Cx-R1n7U\",\"zh_api_enums_navigationfailuretype.md\":\"Drh9e4AR\",\"zh_api_index.md\":\"CSN9Qec2\",\"zh_api_interfaces_historystate.md\":\"IoRved1L\",\"zh_api_interfaces_navigationfailure.md\":\"Bkj_QTOg\",\"zh_api_interfaces_navigationguard.md\":\"D1sy8JKG\",\"zh_api_interfaces_navigationguardnext.md\":\"2hS5dvAH\",\"zh_api_interfaces_navigationguardwiththis.md\":\"BDNu0j_A\",\"zh_api_interfaces_navigationhookafter.md\":\"DCdaFx9p\",\"zh_api_interfaces_routelocation.md\":\"CAZq3DEM\",\"zh_api_interfaces_routelocationmatched.md\":\"BTiZPQOy\",\"zh_api_interfaces_routelocationnormalized.md\":\"DV1UZp16\",\"zh_api_interfaces_routelocationnormalizedloaded.md\":\"BcJefsTn\",\"zh_api_interfaces_routelocationoptions.md\":\"nF6XEgiI\",\"zh_api_interfaces_routemeta.md\":\"8m85CINW\",\"zh_api_interfaces_router.md\":\"BZO_9m38\",\"zh_api_interfaces_routerecordbase.md\":\"C8JD5vZx\",\"zh_api_interfaces_routerecordmultipleviews.md\":\"BgAtfIk_\",\"zh_api_interfaces_routerecordmultipleviewswithchildren.md\":\"DBD_Zxj4\",\"zh_api_interfaces_routerecordnormalized.md\":\"gQeaLff-\",\"zh_api_interfaces_routerecordredirect.md\":\"BQzWPhVD\",\"zh_api_interfaces_routerecordsingleview.md\":\"8XxQV86D\",\"zh_api_interfaces_routerecordsingleviewwithchildren.md\":\"ZFloDuWJ\",\"zh_api_interfaces_routerhistory.md\":\"COfMDwxA\",\"zh_api_interfaces_routerlinkprops.md\":\"BedpJymI\",\"zh_api_interfaces_routeroptions.md\":\"ZW4o0EA5\",\"zh_api_interfaces_routerscrollbehavior.md\":\"DsfjaaIq\",\"zh_api_interfaces_routerviewprops.md\":\"BPGrGkRH\",\"zh_guide_advanced_composition-api.md\":\"DY0qiKS-\",\"zh_guide_advanced_data-fetching.md\":\"B5wpFUg3\",\"zh_guide_advanced_dynamic-routing.md\":\"B78GO4--\",\"zh_guide_advanced_extending-router-link.md\":\"B6xhoXrM\",\"zh_guide_advanced_lazy-loading.md\":\"DkfrSfxy\",\"zh_guide_advanced_meta.md\":\"CGmrX97r\",\"zh_guide_advanced_navigation-failures.md\":\"DmYRnEwJ\",\"zh_guide_advanced_navigation-guards.md\":\"D6Hw3-x-\",\"zh_guide_advanced_router-view-slot.md\":\"DbHt_oPJ\",\"zh_guide_advanced_scroll-behavior.md\":\"BlKDQhA1\",\"zh_guide_advanced_transitions.md\":\"DiPm4m2i\",\"zh_guide_advanced_typed-routes.md\":\"DMUNvUmD\",\"zh_guide_essentials_active-links.md\":\"CJF7j7NR\",\"zh_guide_essentials_dynamic-matching.md\":\"CtT2-mPD\",\"zh_guide_essentials_history-mode.md\":\"DoZ6LRnG\",\"zh_guide_essentials_named-routes.md\":\"C7IWgCDt\",\"zh_guide_essentials_named-views.md\":\"Cp7hFnO4\",\"zh_guide_essentials_navigation.md\":\"D-kOGv8B\",\"zh_guide_essentials_nested-routes.md\":\"BZWOqDM1\",\"zh_guide_essentials_passing-props.md\":\"BjFbCZcp\",\"zh_guide_essentials_redirect-and-alias.md\":\"C5iBT1M0\",\"zh_guide_essentials_route-matching-syntax.md\":\"Bff-ylLo\",\"zh_guide_index.md\":\"Bnz6DUWp\",\"zh_guide_migration_index.md\":\"CVHzym3u\",\"zh_index.md\":\"CUqrgjES\",\"zh_installation.md\":\"BA6L06N5\",\"zh_introduction.md\":\"LE9W4cEV\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Vue Router\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":\"dark\",\"themeConfig\":{\"logo\":\"/logo.svg\",\"outline\":[2,3],\"socialLinks\":[{\"icon\":\"x\",\"link\":\"https://twitter.com/posva\"},{\"icon\":\"github\",\"link\":\"https://github.com/vuejs/router\"},{\"icon\":\"discord\",\"link\":\"https://chat.vuejs.org\"}],\"footer\":{\"copyright\":\"Copyright © 2014-present Evan You, Eduardo San Martin Morote\",\"message\":\"Released under the MIT License.\"},\"editLink\":{\"pattern\":\"https://github.com/vuejs/router/edit/main/packages/docs/:path\",\"text\":\"Suggest changes\"},\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"BTNTW3I1XP\",\"apiKey\":\"771d10c8c5cc48f7922f15048b4d931c\",\"indexName\":\"next_router_vuejs\",\"locales\":{\"zh\":{\"placeholder\":\"搜索文档\",\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"searchBox\":{\"resetButtonTitle\":\"清除查询条件\",\"resetButtonAriaLabel\":\"清除查询条件\",\"cancelButtonText\":\"取消\",\"cancelButtonAriaLabel\":\"取消\"},\"startScreen\":{\"recentSearchesTitle\":\"搜索历史\",\"noRecentSearchesText\":\"没有搜索历史\",\"saveRecentSearchButtonTitle\":\"保存至搜索历史\",\"removeRecentSearchButtonTitle\":\"从搜索历史中移除\",\"favoriteSearchesTitle\":\"收藏\",\"removeFavoriteSearchButtonTitle\":\"从收藏中移除\"},\"errorScreen\":{\"titleText\":\"无法获取结果\",\"helpText\":\"你可能需要检查你的网络连接\"},\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\",\"closeText\":\"关闭\",\"searchByText\":\"搜索供应商\"},\"noResultsScreen\":{\"noResultsText\":\"无法找到相关结果\",\"suggestedQueryText\":\"你可以尝试查询\",\"reportMissingResultsText\":\"你认为该查询应该有结果?\",\"reportMissingResultsLinkText\":\"点击反馈\"}}}}}}},\"carbonAds\":{\"code\":\"CEBICK3I\",\"placement\":\"routervuejsorg\"}},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en-US\",\"link\":\"/\",\"description\":\"The official Router for Vue.js\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://router.vuejs.org\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"The official Router for Vue.js\"}],[\"meta\",{\"property\":\"twitter:url\",\"content\":\"https://router.vuejs.org\"}],[\"meta\",{\"property\":\"twitter:title\",\"content\":\"Vue Router\"}],[\"meta\",{\"property\":\"twitter:description\",\"content\":\"The official Router for Vue.js\"}]],\"themeConfig\":{\"editLink\":{\"pattern\":\"https://github.com/vuejs/router/edit/main/packages/docs/:path\",\"text\":\"Suggest changes to this page\"},\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/\",\"activeMatch\":\"^/guide/\"},{\"text\":\"API\",\"link\":\"/api/\",\"activeMatch\":\"^/api/\"},{\"text\":\"v4.x\",\"items\":[{\"text\":\"v3.x\",\"link\":\"https://v3.router.vuejs.org\"}]},{\"text\":\"Links\",\"items\":[{\"text\":\"Discussions\",\"link\":\"https://github.com/vuejs/router/discussions\"},{\"text\":\"Changelog\",\"link\":\"https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md\"},{\"text\":\"Vue.js Certification\",\"link\":\"https://certificates.dev/vuejs/?friend=VUEROUTER&utm_source=router_vuejs&utm_medium=link&utm_campaign=router_vuejs_links&utm_content=navbar\"}]}],\"sidebar\":{\"/\":[{\"text\":\"Setup\",\"items\":[{\"text\":\"Introduction\",\"link\":\"/introduction.html\"},{\"text\":\"Installation\",\"link\":\"/installation.html\"}]},{\"text\":\"Essentials\",\"items\":[{\"text\":\"Getting Started\",\"link\":\"/guide/\"},{\"text\":\"Dynamic Route Matching\",\"link\":\"/guide/essentials/dynamic-matching.html\"},{\"text\":\"Routes' Matching Syntax\",\"link\":\"/guide/essentials/route-matching-syntax.html\"},{\"text\":\"Named Routes\",\"link\":\"/guide/essentials/named-routes.html\"},{\"text\":\"Nested Routes\",\"link\":\"/guide/essentials/nested-routes.html\"},{\"text\":\"Programmatic Navigation\",\"link\":\"/guide/essentials/navigation.html\"},{\"text\":\"Named Views\",\"link\":\"/guide/essentials/named-views.html\"},{\"text\":\"Redirect and Alias\",\"link\":\"/guide/essentials/redirect-and-alias.html\"},{\"text\":\"Passing Props to Route Components\",\"link\":\"/guide/essentials/passing-props.html\"},{\"text\":\"Active links\",\"link\":\"/guide/essentials/active-links.html\"},{\"text\":\"Different History modes\",\"link\":\"/guide/essentials/history-mode.html\"}]},{\"text\":\"Advanced\",\"items\":[{\"text\":\"Navigation guards\",\"link\":\"/guide/advanced/navigation-guards.html\"},{\"text\":\"Route Meta Fields\",\"link\":\"/guide/advanced/meta.html\"},{\"text\":\"Data Fetching\",\"link\":\"/guide/advanced/data-fetching.html\"},{\"text\":\"Composition API\",\"link\":\"/guide/advanced/composition-api.html\"},{\"text\":\"RouterView slot\",\"link\":\"/guide/advanced/router-view-slot.html\"},{\"text\":\"Transitions\",\"link\":\"/guide/advanced/transitions.html\"},{\"text\":\"Scroll Behavior\",\"link\":\"/guide/advanced/scroll-behavior.html\"},{\"text\":\"Lazy Loading Routes\",\"link\":\"/guide/advanced/lazy-loading.html\"},{\"text\":\"Typed Routes\",\"link\":\"/guide/advanced/typed-routes.html\"},{\"text\":\"Extending RouterLink\",\"link\":\"/guide/advanced/extending-router-link.html\"},{\"text\":\"Navigation Failures\",\"link\":\"/guide/advanced/navigation-failures.html\"},{\"text\":\"Dynamic Routing\",\"link\":\"/guide/advanced/dynamic-routing.html\"}]},{\"items\":[{\"text\":\"Migrating from Vue 2\",\"link\":\"/guide/migration/index.html\"}]}],\"/api/\":[{\"text\":\"packages\",\"items\":[{\"text\":\"vue-router\",\"link\":\"/api/\"}]}]}}},\"zh\":{\"label\":\"简体中文\",\"lang\":\"zh-CN\",\"link\":\"/zh/\",\"description\":\"Vue.js 的官方路由\",\"head\":[[\"meta\",{\"property\":\"og:url\",\"content\":\"https://router.vuejs.org\"}],[\"meta\",{\"property\":\"og:description\",\"content\":\"Vue.js 的官方路由\"}],[\"meta\",{\"property\":\"twitter:url\",\"content\":\"https://router.vuejs.org\"}],[\"meta\",{\"property\":\"twitter:title\",\"content\":\"Vue Router\"}],[\"meta\",{\"property\":\"twitter:description\",\"content\":\"Vue.js 的官方路由\"}]],\"themeConfig\":{\"editLink\":{\"pattern\":\"https://github.com/vuejs/router/edit/main/packages/docs/:path\",\"text\":\"对本页提出修改建议\"},\"outlineTitle\":\"本页内容\",\"nav\":[{\"text\":\"教程\",\"link\":\"/zh/guide/\",\"activeMatch\":\"^/zh/guide/\"},{\"text\":\"API 参考\",\"link\":\"/zh/api/\",\"activeMatch\":\"^/zh/api/\"},{\"text\":\"v4.x\",\"items\":[{\"text\":\"v3.x\",\"link\":\"https://v3.router.vuejs.org/zh\"}]},{\"text\":\"相关链接\",\"items\":[{\"text\":\"Discussions\",\"link\":\"https://github.com/vuejs/router/discussions\"},{\"text\":\"更新日志\",\"link\":\"https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md\"},{\"text\":\"Vue.js 认证\",\"link\":\"https://certificates.dev/vuejs/?friend=VUEROUTER&utm_source=router_vuejs&utm_medium=link&utm_campaign=router_vuejs_links&utm_content=navbar\"}]}],\"sidebar\":{\"/zh/\":[{\"text\":\"设置\",\"items\":[{\"text\":\"介绍\",\"link\":\"/zh/introduction.html\"},{\"text\":\"安装\",\"link\":\"/zh/installation.html\"}]},{\"text\":\"基础\",\"items\":[{\"text\":\"入门\",\"link\":\"/zh/guide/\"},{\"text\":\"动态路由匹配\",\"link\":\"/zh/guide/essentials/dynamic-matching.html\"},{\"text\":\"路由的匹配语法\",\"link\":\"/zh/guide/essentials/route-matching-syntax.html\"},{\"text\":\"嵌套路由\",\"link\":\"/zh/guide/essentials/nested-routes.html\"},{\"text\":\"命名路由\",\"link\":\"/zh/guide/essentials/named-routes.html\"},{\"text\":\"编程式导航\",\"link\":\"/zh/guide/essentials/navigation.html\"},{\"text\":\"命名视图\",\"link\":\"/zh/guide/essentials/named-views.html\"},{\"text\":\"重定向和别名\",\"link\":\"/zh/guide/essentials/redirect-and-alias.html\"},{\"text\":\"路由组件传参\",\"link\":\"/zh/guide/essentials/passing-props.html\"},{\"text\":\"匹配当前路由的链接\",\"link\":\"/zh/guide/essentials/active-links.html\"},{\"text\":\"不同的历史记录模式\",\"link\":\"/zh/guide/essentials/history-mode.html\"}]},{\"text\":\"进阶\",\"items\":[{\"text\":\"导航守卫\",\"link\":\"/zh/guide/advanced/navigation-guards.html\"},{\"text\":\"路由元信息\",\"link\":\"/zh/guide/advanced/meta.html\"},{\"text\":\"数据获取\",\"link\":\"/zh/guide/advanced/data-fetching.html\"},{\"text\":\"组合式 API\",\"link\":\"/zh/guide/advanced/composition-api.html\"},{\"text\":\"RouterView 插槽\",\"link\":\"/zh/guide/advanced/router-view-slot.html\"},{\"text\":\"过渡动效\",\"link\":\"/zh/guide/advanced/transitions.html\"},{\"text\":\"滚动行为\",\"link\":\"/zh/guide/advanced/scroll-behavior.html\"},{\"text\":\"路由懒加载\",\"link\":\"/zh/guide/advanced/lazy-loading.html\"},{\"text\":\"类型化路由\",\"link\":\"/zh/guide/advanced/typed-routes.html\"},{\"text\":\"扩展 RouterLink\",\"link\":\"/zh/guide/advanced/extending-router-link.html\"},{\"text\":\"导航故障\",\"link\":\"/zh/guide/advanced/navigation-failures.html\"},{\"text\":\"动态路由\",\"link\":\"/zh/guide/advanced/dynamic-routing.html\"}]},{\"items\":[{\"text\":\"从 Vue2 迁移\",\"link\":\"/zh/guide/migration/index.html\"},{\"text\":\"关于中文翻译\",\"link\":\"/zh/about-translation.html\"}]}],\"/zh/api/\":[{\"text\":\"packages\",\"items\":[{\"text\":\"vue-router\",\"link\":\"/zh/api/\"}]}]}}},\"ko\":{\"label\":\"한국어\",\"lang\":\"ko-KR\",\"link\":\"https://router.vuejs.kr/\"},\"pt\":{\"label\":\"Português\",\"lang\":\"pt-PT\",\"link\":\"https://vue-router-docs-pt.netlify.app/\"},\"ru\":{\"label\":\"Русский\",\"lang\":\"ru-RU\",\"link\":\"https://vue-router-ru.netlify.app\"}},\"scrollOffset\":134,\"cleanUrls\":false}");</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10