---
id: ssh-vue-router-best-practices
name: "vue-router-best-practices"
url: https://skills.yangsir.net/skill/ssh-vue-router-best-practices
author: antfu
domain: ai-code-generation-quality
tags: ["vue-router", "client-side-routing", "navigation-guards", "spa-development", "vue"]
install_count: 13200
rating: 4.50 (260 reviews)
github: https://github.com/antfu/skills
---

# vue-router-best-practices

> 提供Vue Router 4的最佳实践，涵盖导航守卫、路由参数和路由组件生命周期交互。

**Stats**: 13,200 installs · 4.5/5 (260 reviews)

## Before / After 对比

### Vue Router最佳实践

## Readme

Vue Router best practices, common gotchas, and navigation patterns.

### Navigation Guards
- Navigating between same route with different params → See [router-beforeenter-no-param-trigger](reference/router-beforeenter-no-param-trigger.md)
- Accessing component instance in beforeRouteEnter guard → See [router-beforerouteenter-no-this](reference/router-beforerouteenter-no-this.md)
- Navigation guard making API calls without awaiting → See [router-guard-async-await-pattern](reference/router-guard-async-await-pattern.md)
- Users trapped in infinite redirect loops → See [router-navigation-guard-infinite-loop](reference/router-navigation-guard-infinite-loop.md)
- Navigation guard using deprecated next() function → See [router-navigation-guard-next-deprecated](reference/router-navigation-guard-next-deprecated.md)

### Route Lifecycle
- Stale data when navigating between same route → See [router-param-change-no-lifecycle](reference/router-param-change-no-lifecycle.md)
- Event listeners persisting after component unmounts → See [router-simple-routing-cleanup](reference/router-simple-routing-cleanup.md)

### Setup
- Building production single-page application → See [router-use-vue-router-for-production](reference/router-use-vue-router-for-production.md)


---
*Source: https://skills.yangsir.net/skill/ssh-vue-router-best-practices*
*Markdown mirror: https://skills.yangsir.net/api/skill/ssh-vue-router-best-practices/markdown*