vue路由实现导航栏
Vue路由实现导航栏的方法
安装Vue Router
确保项目已安装Vue Router。通过npm或yarn安装:
npm install vue-router
或
yarn add vue-router
配置路由文件
创建路由配置文件(如router/index.js),定义路由路径和组件映射:
import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';
const routes = [
{ path: '/', component: Home },
{ path: '/about', component: About }
];
const router = createRouter({
history: createWebHistory(),
routes
});
export default router;
在主文件中引入路由
在main.js或main.ts中导入并挂载路由:

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
const app = createApp(App);
app.use(router);
app.mount('#app');
创建导航栏组件
在组件中使用<router-link>实现导航跳转,例如NavBar.vue:
<template>
<nav>
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
</nav>
</template>
显示路由内容
在根组件(如App.vue)中添加<router-view>占位符,用于显示当前路由对应的组件:
<template>
<NavBar />
<router-view />
</template>
<script>
import NavBar from './components/NavBar.vue';
export default {
components: { NavBar }
};
</script>
动态高亮当前导航
通过router-link-active类自动高亮当前路由链接,或使用v-slot自定义高亮逻辑:

<router-link
to="/about"
v-slot="{ isActive }"
:class="{ 'active': isActive }"
>
About
</router-link>
编程式导航
在方法中通过this.$router.push()实现跳转:
methods: {
goToAbout() {
this.$router.push('/about');
}
}
嵌套路由
若需嵌套导航栏,在路由配置中使用children属性:
const routes = [
{
path: '/user',
component: User,
children: [
{ path: 'profile', component: Profile },
{ path: 'settings', component: Settings }
]
}
];
路由守卫
通过路由守卫控制导航权限,例如全局前置守卫:
router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth && !isAuthenticated) next('/login');
else next();
});
以上步骤覆盖了从基础配置到高级功能的完整流程,可根据实际需求调整路由结构和导航逻辑。






