Vue Router Best Practices
vuejs-ai/skills1.9k
This skill provides best practices, navigation patterns, and troubleshooting guidance for Vue Router 4, tailored for Vue 3 developers. It covers topics like navigation guards, route lifecycle management, and production setup, highlighting common pitfalls and solutions. Designed for Vue 3 projects, it aims to help developers optimize routing behavior and avoid issues like infinite redirect loops and stale data.
Vue Router best practices, common gotchas, and navigation patterns.
Navigation Guards
- Navigating between same route with different params → See router-beforeenter-no-param-trigger
- Accessing component instance in beforeRouteEnter guard → See router-beforerouteenter-no-this
- Navigation guard making API calls without awaiting → See router-guard-async-await-pattern
- Users trapped in infinite redirect loops → See router-navigation-guard-infinite-loop
- Navigation guard using deprecated next() function → See router-navigation-guard-next-deprecated
Route Lifecycle
- Stale data when navigating between same route → See router-param-change-no-lifecycle
- Event listeners persisting after component unmounts → See router-simple-routing-cleanup
Setup
- Building production single-page application → See router-use-vue-router-for-production
GitHub Owner
Owner: vuejs-ai
Files
router-beforeenter-no-param-trigger
router-beforerouteenter-no-this
router-guard-async-await-pattern
router-navigation-guard-infinite-loop
router-navigation-guard-next-deprecated
router-param-change-no-lifecycle
router-simple-routing-cleanup
router-use-vue-router-for-production
SKILL.md
name: vue-router-best-practices description: "Vue Router 4 patterns, navigation guards, route params, and route-component lifecycle interactions." version: 1.0.0 license: MIT author: github.com/vuejs-ai
Vue Router best practices, common gotchas, and navigation patterns.
Navigation Guards
- Navigating between same route with different params → See router-beforeenter-no-param-trigger
- Accessing component instance in beforeRouteEnter guard → See router-beforerouteenter-no-this
- Navigation guard making API calls without awaiting → See router-guard-async-await-pattern
- Users trapped in infinite redirect loops → See router-navigation-guard-infinite-loop
- Navigation guard using deprecated next() function → See router-navigation-guard-next-deprecated
Route Lifecycle
- Stale data when navigating between same route → See router-param-change-no-lifecycle
- Event listeners persisting after component unmounts → See router-simple-routing-cleanup
Setup
- Building production single-page application → See router-use-vue-router-for-production