加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 数据采集、建站、AI开发硬件、专属主机、云硬盘!
当前位置: 首页 > 教程 > 正文

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

发布时间:2023-09-05 11:24:10 所属栏目:教程 来源:网络
导读:   本篇内容介绍了“如何用Vue实现点击导航高亮效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希
  本篇内容介绍了“如何用Vue实现点击导航高亮效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
 
  一、项目环境准备
 
  在开始前,需要先准备一个使用Vue的项目。可以使用Vue CLI等工具来快速创建一个项目。我们需要在项目中安装Vue和Vue Router两个库。
 
  //安装 Vue
 
  npm install vue
 
  //安装 Vue Router
 
  npm install vue-router
 
  二、实现点击导航高亮
 
  设置路由
 
  首先,需要设置路由来导航。这里我们创建三个路由,分别表示首页、新闻页和博客页。
 
  //导入Vue和Vue Router
 
  import Vue from 'vue'
 
  import Router from 'vue-router'
 
  //导入组件
 
  import Home from '@/components/Home'
 
  import News from '@/components/News'
 
  import Blog from '@/components/Blog'
 
  //使用Vue Router
 
  Vue.use(Router)
 
  export default new Router({
 
    routes: [
 
      {
 
        path: '/',
 
        name: 'Home',
 
        component: Home
 
      },
 
      {
 
        path: '/news',
 
        name: 'News',
 
        component: News
 
      },
 
      {
 
        path: '/blog',
 
        name: 'Blog',
 
        component: Blog
 
      }
 
    ]
 
  })
 
  创建导航组件
 
  接下来,创建一个导航组件,在组件中设置需要跳转的路由链接。这里使用<router-link>标签来实现路由跳转,同时也是后面实现高亮效果的关键。
 
  <template>
 
    <div>
 
      <router-link to="/" tag="span" v-bind:class="{ active: isActive('/')}">首页 </router-link>
 
      <router-link to="/news" tag="span" v-bind:class="{ active: isActive('/news')}">新闻 </router-link>
 
      <router-link to="/blog" tag="span" v-bind:class="{ active: isActive('/blog')}">博客 </router-link>
 
    </div>
 
  </template>
 
  <script>
 
  export default {
 
    methods: {
 
      isActive (path) {
 
        // 判断当前路由是否激活,如果是则添加类名,否则不添加
 
        return this.$route.path === path
 
      }
 
    }
 
  }
 
  </script>
 
  <style>
 
   .active {
 
      color: red;
 
    }
 
  </style>
 
  在组件中定义了一个isActive方法,该方法会判断当前路由是否激活。如果当前路由是该导航所对应的路由,则添加一个active类名;否则,不添加类名。
 
  添加导航组件
 
  把导航组件添加到页头部分。这里使用Bootstrap来简单设计页面。
 
  <template>
 
    <div class="container">
 
      <nav class="navbar navbar-default">
 
        <div class="container-fluid">
 
          <div class="navbar-header">
 
            <router-link to="/" class="navbar-brand">Vue Router</router-link>
 
          </div>
 
          <div>
 
            <ul class="nav navbar-nav">
 
              <Nav></Nav>
 
            </ul>
 
          </div>
 
        </div>
 
      </nav>
 
      <router-view></router-view>
 
    </div>
 
  </template>
 
  <script>
 
  import Nav from './Nav'
 
  export default {
 
    name: 'app',
 
    components: {
 
        Nav
 
    }
 
  }
 
  </script>
 
  完整代码如下:
 
  <template>
 
    <div class="container">
 
      <nav class="navbar navbar-default">
 
        <div class="container-fluid">
 
          <div class="navbar-header">
 
            <router-link to="/" class="navbar-brand">Vue Router</router-link>
 
          </div>
 
          <div>
 
            <ul class="nav navbar-nav">
 
              <Nav></Nav>
 
            </ul>
 
          </div>
 
        </div>
 
      </nav>
 
      <router-view></router-view>
 
    </div>
 
  </template>
 
  <script>
 
  import Nav from './Nav'
 
  export default {
 
    name: 'app',
 
    components: {
 
        Nav
 
    }
 
  }
 
  </script>
 
  三、效果展示
 
  完成以上步骤后,我们就可以通过点击导航来进行路由跳转,同时也会实现点击导航高亮的效果。
 

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章