当前位置:首页 > VUE

vue实现导航切换

2026-01-19 15:18:19VUE

路由配置

在Vue项目中安装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

导航组件

使用<router-link>组件创建导航菜单,通过to属性指定目标路由路径。active-class可自定义激活状态的样式类名。

<template>
  <nav>
    <router-link to="/" active-class="active">Home</router-link>
    <router-link to="/about" active-class="active">About</router-link>
  </nav>
</template>

<style scoped>
.active {
  font-weight: bold;
  color: #42b983;
}
</style>

路由视图

在父组件中添加<router-view>标签作为路由内容的出口,匹配到的组件会在此渲染。

<template>
  <div id="app">
    <NavBar />
    <router-view />
  </div>
</template>

编程式导航

通过useRouter钩子获取路由实例,调用pushreplace方法实现编程式跳转。

import { useRouter } from 'vue-router'

const router = useRouter()
function goToAbout() {
  router.push('/about')
}

嵌套路由

配置子路由实现多级导航,父路由组件中需包含嵌套的<router-view>

vue实现导航切换

const routes = [
  {
    path: '/user',
    component: User,
    children: [
      { path: 'profile', component: Profile },
      { path: 'posts', component: Posts }
    ]
  }
]

标签: vue
分享给朋友:

相关文章

vue实现安全免登录

vue实现安全免登录

Vue 实现安全免登录的方案 免登录功能通常通过持久化认证状态(如 Token)实现,但需兼顾安全性。以下是基于 Vue 的常见实现方案: 基于 Token 的免登录 登录成功后存储 Token…

vue里实现增删改查

vue里实现增删改查

在Vue中实现增删改查 数据初始化 在Vue组件的data中定义初始数据和表单绑定的变量: data() { return { items: [ { id: 1, name:…

vue实现倒计时抢券

vue实现倒计时抢券

Vue 实现倒计时抢券功能 核心逻辑 倒计时抢券功能需要结合时间计算、状态管理和界面交互。通过 Vue 的响应式特性和生命周期钩子,可以高效实现这一需求。 实现步骤 1. 数据准备 在 Vue 组件…

vue实现hover

vue实现hover

Vue 实现 hover 效果的方法 在 Vue 中实现 hover 效果可以通过多种方式实现,包括使用 CSS、Vue 指令或事件监听。以下是几种常见的方法: 使用 CSS :hover 伪类 通…

vue实现portal

vue实现portal

Vue 实现 Portal 功能 Portal 是一种将子节点渲染到父组件 DOM 层级之外的 DOM 节点的技术,常用于实现模态框、弹出层等需要脱离当前组件层级的场景。Vue 可以通过多种方式实现…

vue实现 单选

vue实现 单选

实现 Vue 单选功能 在 Vue 中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用 v-model 绑定单选按钮 通过 v-model 可以轻松实现单选功能,将单选按钮的值绑定到同…