Vue 路由
Vue 路由
nodaoli简介
作用是当访问不同路径的时候,显示不同的页面
使用
1 | npm install vue-router@4 |
创建src/router/index.js
作为路由文件
1 | //导入vue-router |
解释
- 导入必要的模块和组件:
import { createRouter, createWebHistory } from "vue-router";
:从 vue-router
库中导入 createRouter
和 createWebHistory
函数。import LoginVue from '@/views/Login.vue';
:导入 Login.vue
组件作为登录页面。import LayoutVue from '@/views/Layout.vue';
:导入 Layout.vue
组件作为布局页面。
- 定义路由规则:
const routes
:定义一个路由规则数组。{ path: '/login', component: LoginVue }
:当访问 /login 路径时,渲染 LoginVue 组件。{ path: '/', component: LayoutVue }
:当访问根路径 / 时,渲染 LayoutVue 组件。
- 创建路由器实例:
使用 createRouter
函数创建一个路由器实例。history: createWebHistory()
:使用 createWebHistory
创建一个基于 HTML5 History API 的路由历史记录。routes: routes
:将之前定义的路由规则数组赋值给路由器的 routes
选项。
export default router;
:将创建的路由器实例导出,以便在其他地方使用。
在main.js
中导入
1 | //因为文件名是 index.js 所以可以直接写文件夹名 |
App.vue启用
1 | <script setup> |
标签 <router-view></router-view>
是写死的,必须是这样子,不能自闭合
写在哪里,哪里就可以渲染路由的页面
使用路由跳转
1 | import {useRouter} from 'vue-router' //从路由导入 useRouter对象 |
子路由
在路由关系中给一级路由添加children
属性
1 | //定义路由关系 |
如果使用的是Element-Plus
,需要在 <el-menu-item>
添加 index
属性,指向具体路径
1 | <el-menu-item index="/user/info"> |
在一级路由添加redirect
就可以重定向到其他路径,上面代码登录完跳转到/
路径的时候,就会自动重定向到/article/manage
路径上