当前位置:首页 > VUE

vue导航实现active

2026-02-19 09:07:59VUE

Vue 导航 Active 状态实现方法

使用 router-linkactive-class

Vue Router 内置了导航激活状态的类名绑定功能,通过 router-link 组件的 active-class 属性或全局配置实现:

<router-link to="/home" active-class="active">Home</router-link>

通过路由配置全局设置:

vue导航实现active

const router = new VueRouter({
  linkActiveClass: 'active' // 全局生效
})

动态绑定 classstyle

结合 $route 对象手动判断当前路径:

<template>
  <a :class="{ active: $route.path === '/home' }" href="/home">Home</a>
</template>

使用计算属性

对于复杂逻辑,推荐使用计算属性:

vue导航实现active

computed: {
  isActive() {
    return this.$route.path.startsWith('/products');
  }
}

嵌套路由匹配

需要匹配嵌套路由时,使用 linkExactActiveClass

<router-link to="/nested" exact-active-class="exact-active">Nested</router-link>

第三方 UI 库集成

如使用 Element UI 的菜单组件:

<el-menu :default-active="$route.path" router>
  <el-menu-item index="/dashboard">Dashboard</el-menu-item>
</el-menu>

注意事项

  • 路径匹配默认是包含匹配(如 /about 会激活 /about/team
  • 精确匹配需添加 exact 属性:<router-link to="/" exact>
  • 激活样式通常需自行编写 CSS:
    .active {
      color: #42b983;
      font-weight: bold;
    }

标签: vueactive
分享给朋友:

相关文章

vue实现本地数据存储

vue实现本地数据存储

使用 localStorage 或 sessionStorage Vue 中可以直接调用浏览器提供的 localStorage 或 sessionStorage API 进行数据存储。localSto…

vue实现分屏

vue实现分屏

Vue 实现分屏的方法 分屏功能通常用于展示多个独立内容区域,以下是几种常见的实现方式: 使用 CSS Grid 布局 通过 CSS Grid 可以轻松创建分屏布局,在 Vue 组件中直接应用样式…

js实现vue

js实现vue

Vue.js 的基本实现方法 在 JavaScript 中实现 Vue.js 的功能,可以通过直接引入 Vue 库或使用现代构建工具(如 Vite 或 Webpack)。以下是几种常见的实现方式:…

vue 实现菜单

vue 实现菜单

Vue 实现菜单的方法 使用 Vue 实现菜单可以通过多种方式,以下是几种常见的方法: 使用 Vue Router 实现动态路由菜单 通过 Vue Router 可以动态生成菜单,根据路由配置自动…

vue实现jqueryui

vue实现jqueryui

Vue 实现 jQuery UI 功能 在 Vue 项目中实现类似 jQuery UI 的功能,可以通过原生 Vue 组件或第三方库来实现。以下是几种常见 jQuery UI 功能的 Vue 替代方案…

vue实现rtc

vue实现rtc

Vue 实现 RTC 的步骤 安装依赖 在 Vue 项目中安装 WebRTC 相关依赖,如 simple-peer 或 peerjs,用于简化 WebRTC 的实现。 运行以下命令安装 simple-…