当前位置:首页 > VUE

vue路由实现点击class

2026-02-21 09:45:45VUE

Vue 路由实现点击添加 class

在 Vue 中通过路由实现点击添加 class 可以通过以下几种方式实现,主要涉及 router-link 和动态 class 绑定。

使用 router-link 的 active-class

router-link 默认会在路由匹配时自动添加 router-link-active class,可以通过 active-class 属性自定义 class 名称。

<router-link 
  to="/home" 
  active-class="active"
>
  Home
</router-link>
.active {
  color: red;
  font-weight: bold;
}

动态绑定 class

通过 :class 动态绑定 class,结合当前路由路径判断是否添加 class。

<router-link 
  to="/home" 
  :class="{ active: $route.path === '/home' }"
>
  Home
</router-link>

使用 Vuex 或状态管理

在更复杂的场景中,可以通过 Vuex 存储当前激活的路由,动态绑定 class。

// store.js
state: {
  activeRoute: '/home'
}
<router-link 
  to="/home" 
  :class="{ active: $store.state.activeRoute === '/home' }"
>
  Home
</router-link>

监听路由变化

通过监听路由变化,手动添加或移除 class。

watch: {
  $route(to, from) {
    if (to.path === '/home') {
      document.getElementById('home-link').classList.add('active')
    } else {
      document.getElementById('home-link').classList.remove('active')
    }
  }
}

使用 exact 精确匹配

router-linkexact 属性可以确保路径完全匹配时才添加 class。

vue路由实现点击class

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

以上方法可以根据具体需求选择适合的方式实现点击添加 class 的效果。

标签: 路由vue
分享给朋友:

相关文章

vue实现主题

vue实现主题

Vue 实现主题的方法 使用 CSS 变量动态切换主题 定义全局 CSS 变量,通过修改这些变量实现主题切换。在 Vue 的根组件或全局样式中定义变量: :root { --primary-co…

vue实现图册

vue实现图册

Vue实现图册功能 在Vue中实现图册功能通常涉及图片展示、切换、缩放等交互效果。以下是常见的实现方法和关键代码示例: 基础图册组件结构 使用Vue单文件组件构建基础结构: <templat…

vue 实现注册

vue 实现注册

Vue 实现注册功能 注册功能通常包括表单验证、数据提交和用户反馈。以下是实现注册功能的步骤: 1. 创建注册表单组件 在 Vue 项目中创建一个注册表单组件,包含用户名、邮箱、密码等输入字段。…

vue 实现href

vue 实现href

Vue 实现 href 的方法 在 Vue 中实现 href 功能可以通过多种方式,具体取决于需求场景。以下是几种常见的方法: 使用 <a> 标签 直接使用 HTML 的 <a&g…

vue实现mouseout

vue实现mouseout

Vue 实现 mouseout 事件的方法 在 Vue 中实现 mouseout 事件可以通过多种方式完成,以下是几种常见的方法: 使用 v-on 指令 Vue 提供了 v-on 指令(或简写为 @…

vue实现swipe

vue实现swipe

Vue实现Swipe功能的方法 使用第三方库(推荐) Vue生态中有多个成熟的轮播/滑动组件库,例如vue-awesome-swiper或swiper/vue。以下是基于swiper/vue的实现示例…