Vue 学习记录之二十七:路由 router 的使用
在 Vue 项目中,路由是用来管理不同页面和组件之间导航的关键功能。Vue Router 作为 Vue.js 的官方路由库,是开发单页面应用(SPA)时的理想选择。下面,我将介绍一些基础的 Vue Router 使用方法,帮助你更好地管理你的 Vue 应用导航。
1. 安装 Vue Router
如果你是使用 Vue CLI 创建的项目,你可以在项目中直接安装 Vue Router:
npm install vue-router
2. 基本用法
配置路由需要创建一个路由器实例并将其传递给 Vue 实例。
// src/router/index.js
import { createRouter, createWebHistory } from 'vue-router';
import Home from '@/views/Home.vue';
import About from '@/views/About.vue';
const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: About
}
];
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes
});
export default router;
3. 在 Vue 应用中使用路由
在你的 main.js
文件中引入并使用创建的路由器实例。
// src/main.js
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
createApp(App).use(router).mount('#app');
4. 路由视图和导航链接
在你的组件中使用 <router-view>
和 <router-link>
来显示和导航不同的路由。
<template>
<div id="app">
<nav>
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
</nav>
<router-view/>
</div>
</template>
5. 动态路由匹配
你可以使用动态路由来匹配特定模式的 URL:
// 在 routes 配置中
{
path: '/user/:id',
name: 'User',
component: () => import('@/views/User.vue')
}
在组件中,你可以通过 this.$route.params.id
访问路由参数。
6. 路由重定向和别名
重定向
{ path: '/old-path', redirect: '/new-path' }
别名
{ path: '/new-path', component: NewPathComponent, alias: '/alias-path' }
7. 守卫导航
可以使用全局或局部导航守卫在进入某个路由前进行判断,典型应用场景如认证、权限控制:
router.beforeEach((to, from, next) => {
// 检查是否需要身份验证
if (to.meta.requiresAuth && !isAuthenticated()) {
next('/login');
} else {
next();
}
});
结语
以上是 Vue Router 的一些基础用法,希望对你的学习有所帮助。Vue Router 还支持嵌套路由、导航解析、过渡动画等高级功能,建议通过官方文档或实践项目进一步深入了解。