如何用Vue实现点击导航高亮效果

其他教程   发布日期:2025年02月09日   浏览次数:224

本篇内容介绍了“如何用Vue实现点击导航高亮效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、项目环境准备

在开始前,需要先准备一个使用Vue的项目。可以使用Vue CLI等工具来快速创建一个项目。我们需要在项目中安装Vue和Vue Router两个库。

  1. //安装 Vue
  2. npm install vue
  3. //安装 Vue Router
  4. npm install vue-router

二、实现点击导航高亮

  1. 设置路由

首先,需要设置路由来导航。这里我们创建三个路由,分别表示首页、新闻页和博客页。

  1. //导入Vue和Vue Router
  2. import Vue from 'vue'
  3. import Router from 'vue-router'
  4. //导入组件
  5. import Home from '@/components/Home'
  6. import News from '@/components/News'
  7. import Blog from '@/components/Blog'
  8. //使用Vue Router
  9. Vue.use(Router)
  10. export default new Router({
  11. routes: [
  12. {
  13. path: '/',
  14. name: 'Home',
  15. component: Home
  16. },
  17. {
  18. path: '/news',
  19. name: 'News',
  20. component: News
  21. },
  22. {
  23. path: '/blog',
  24. name: 'Blog',
  25. component: Blog
  26. }
  27. ]
  28. })
  1. 创建导航组件

接下来,创建一个导航组件,在组件中设置需要跳转的路由链接。这里使用

  1. <router-link>
标签来实现路由跳转,同时也是后面实现高亮效果的关键。

  1. <template>
  2. <div>
  3. <router-link to="/" tag="span" v-bind:class="{ active: isActive('/')}">首页 </router-link>
  4. <router-link to="/news" tag="span" v-bind:class="{ active: isActive('/news')}">新闻 </router-link>
  5. <router-link to="/blog" tag="span" v-bind:class="{ active: isActive('/blog')}">博客 </router-link>
  6. </div>
  7. </template>
  8. <script>
  9. export default {
  10. methods: {
  11. isActive (path) {
  12. // 判断当前路由是否激活,如果是则添加类名,否则不添加
  13. return this.$route.path === path
  14. }
  15. }
  16. }
  17. </script>
  18. <style>
  19. .active {
  20. color: red;
  21. }
  22. </style>

在组件中定义了一个

  1. isActive
方法,该方法会判断当前路由是否激活。如果当前路由是该导航所对应的路由,则添加一个
  1. active
类名;否则,不添加类名。
  1. 添加导航组件

把导航组件添加到页头部分。这里使用Bootstrap来简单设计页面。

  1. <template>
  2.   <div class="container">
  3.     <nav class="navbar navbar-default">
  4.       <div class="container-fluid">
  5.         <div class="navbar-header">
  6.           <router-link to="/" class="navbar-brand">Vue Router</router-link>
  7.         </div>
  8.         <div>
  9.           <ul class="nav navbar-nav">
  10.             <Nav></Nav>
  11.           </ul>
  12.         </div>
  13.       </div>
  14.     </nav>
  15.     <router-view></router-view>
  16.   </div>
  17. </template>
  18. <script>
  19. import Nav from './Nav'
  20. export default {
  21.   name: 'app',
  22.   components: {
  23.       Nav
  24.   }
  25. }
  26. </script>

完整代码如下:

  1. <template>
  2.   <div class="container">
  3.     <nav class="navbar navbar-default">
  4.       <div class="container-fluid">
  5.         <div class="navbar-header">
  6.           <router-link to="/" class="navbar-brand">Vue Router</router-link>
  7.         </div>
  8.         <div>
  9.           <ul class="nav navbar-nav">
  10.             <Nav></Nav>
  11.           </ul>
  12.         </div>
  13.       </div>
  14.     </nav>
  15.     <router-view></router-view>
  16.   </div>
  17. </template>
  18. <script>
  19. import Nav from './Nav'
  20. export default {
  21.   name: 'app',
  22.   components: {
  23.       Nav
  24.   }
  25. }
  26. </script>

三、效果展示

完成以上步骤后,我们就可以通过点击导航来进行路由跳转,同时也会实现点击导航高亮的效果。

以上就是如何用Vue实现点击导航高亮效果的详细内容,更多关于如何用Vue实现点击导航高亮效果的资料请关注九品源码其它相关文章!