在 Vue 3 中,路由的处理使用了 Vue Router,它是官方提供的路由管理器。Vue Router 用于实现单页应用中的路由功能,通过将不同的 URL 映射到对应的组件,实现页面之间的切换和导航。
Vue Router 的作用包括:
- 实现页面之间的切换:通过定义路由规则,将不同的 URL 映射到相应的组件,实现页面的切换效果。
- 实现嵌套路由:Vue Router 支持嵌套路由,可以在父路由下定义子路由,实现复杂的页面结构。
- 提供导航守卫:Vue Router 提供了导航守卫(beforeEach、beforeResolve、afterEach),可以在路由切换前后执行相应的逻辑,例如权限验证、路由拦截等。
- 支持动态路由和参数传递:Vue Router 可以配置动态路由,通过在路由路径中使用参数,实现不同参数对应不同组件的效果。
配置 Vue Router 的步骤如下:
- 安装 Vue Router:使用 npm 或 yarn 安装 Vue Router,可以通过以下命令进行安装:
npm install vue-router
- 创建路由实例:在 Vue 项目中,通常需要创建一个路由实例,并定义路由规则。可以在项目的 main.js 文件中创建路由实例,例如:
import { createApp } from 'vue'
import App from './App.vue'
import { createRouter, createWebHistory } from 'vue-router'
import Home from './views/Home.vue'
import About from './views/About.vue'
const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', component: Home },
{ path: '/about', component: About }
]
})
createApp(App).use(router).mount('#app')
- 配置路由规则:在路由实例中,通过 routes 属性配置路由规则。每个路由规则都包含 path 和 component 属性,分别表示路由路径和对应的组件。
- 在组件中使用路由:在需要使用路由的组件中,可以通过 <router-link> 标签实现页面的导航,也可以通过 <router-view> 标签来展示当前路由所对应的组件。
这是一个简单的 Vue Router 配置示例,具体的配置和使用可以根据实际需求进行调整和扩展。更多关于 Vue Router 的详细信息和用法,可以参考 Vue Router 的官方文档。
对上述创建路由代码进行的解释
当解析第二段代码时,我们会一行一行地解析其含义和功能:
- import { createApp } from 'vue':从 Vue 模块中导入 createApp 方法,用于创建 Vue 应用实例。
- import App from './App.vue':从当前目录下的 App.vue 文件中导入默认导出的组件,该组件将作为整个应用的根组件。
- import { createRouter, createWebHistory } from 'vue-router':从 vue-router 模块中导入 createRouter 和 createWebHistory 方法,用于创建 Vue Router 实例和路由的历史模式。
- import Home from './views/Home.vue':从当前目录下的 views 文件夹中导入 Home.vue 组件,用于配置路由规则中的首页路径对应的组件。
- import About from './views/About.vue':从当前目录下的 views 文件夹中导入 About.vue 组件,用于配置路由规则中的 “about” 路径对应的组件。
- const router = createRouter({ history: createWebHistory(), routes: [ ... ] }):使用 createRouter 方法创建路由实例。createWebHistory() 方法用于创建路由的历史模式,routes 属性用于配置路由规则。在上述示例中,routes 数组定义了两个路由规则,分别是首页路径 '/' 对应的 Home 组件,以及 “about” 路径 '/about' 对应的 About 组件。
- createApp(App).use(router).mount('#app'):使用 createApp 方法创建 Vue 应用实例,并通过 use 方法使用刚创建的路由实例。最后,通过 mount('#app') 方法将应用实例挂载到 id 为 app 的 HTML 元素上。
这样,我们就完成了简单的 Vue Router 的配置,应用实例和路由实例已经创建并成功挂载到了网页上。在使用 <router-link> 和 <router-view> 标签时,Vue Router 将会根据路由规则进行页面导航和组件展示。