在 Vue 3 中,路由管理是构建单页面应用(SPA)的关键部分。Vue Router 4 是 Vue 3 的官方路由管理器,提供了与 Vue 3 的深度集成和一系列新特性。
- 安装 Vue Router 4
npm install vue-router@4
- 配置路由
在项目的 src 目录下创建一个 router 文件夹,并在其中创建一个 index.js 文件来配置路由
3.在主入口文件中使用路由
在 main.js 或 main.ts 文件中,引入并使用路由配置:
4.使用router-view 和router-link
在 App.vue 文件中,使用 router-view 组件来显示当前路由匹配的组件,并使用 router-link组件来创建导航链接。
5. 路由守卫
Vue Router 4 提供了多种路由守卫,用于在路由跳转前后执行逻辑,例如权限检查、数据预加载等。
5.1.全局前置守卫(Global Before Guards)
全局前置守卫在每次路由跳转之前被调用,可以用来进行权限校验或取消导航。
5.2. 全局解析守卫(Global Resolve Guards)
全局解析守卫在导航被确认之前,但解析组件之后调用。可以用来进行数据预加载。
5.3.全局后置钩子(Global After Hooks)
全局后置钩子在每次路由跳转完成后被调用,可以用来记录用户行为或显示加载完成的提示。
5.4. 路由独享守卫(Route-specific Guards)
路由独享守卫在单个路由配置中定义,可以用来对特定路由进行更细粒度的控制。
5.5.组件内守卫(Component Guards)
组件内守卫在单个组件中定义,可以用来在组件级别进行路由控制。
5.6异步操作
在路由守卫中可以使用 async/await 处理异步操作,例如从服务器获取数据。
5.7错误处理
如果在路由守卫中遇到错误,可以通过 next(error) 将错误传递给 Vue Router 的全局错误处理程序。
6. 动态路由
动态路由允许你在路由路径中使用参数,例如 /users/:id。
7. 嵌套路由
嵌套路由允许你在路由中定义子路由,实现更复杂的页面结构。
8.路由模式
Vue Router 4 支持两种路由模式:hash 模式和 history 模式。默认情况下,Vue Router 使用 hash 模式,但你可以通过 createWebHistory 函数切换到 history 模式。
9.传参
9.1query进行传递参数
9.2 meta