vue动态class——实现tag的选中状态

vue动态class——实现tag的选中状态

<template>
  <div class="common-nav">
    <div class="nav is-flex">
      <div class="nav-left">
        <router-link to="/" class="nav-left-a" :class="{on: isCurrent('/')}">首页
        </router-link>
        <router-link to="/article" class="nav-left-a" :class="{on: isCurrent('/article')}">文章
        </router-link>
        <router-link to="/about" class="nav-left-a" :class="{on: isCurrent('/about')}">关于
        </router-link>
      </div>
    </div>
  </div>
</template>

<script>
  export default {
    name: "common-nav",
    data() {
      return {}
    },
    methods: {
      isCurrent(path) {
        console.log(this.$route.path)
        return this.$route.path === path
      }
    }
  }
</script>

<style lang="stylus" scoped>
  @import "../../assets/css/varibles.styl"
  .common-nav {
    width 100%
    margin-bottom 88px
    .nav {
      position fixed
      top 0
      left 0
      z-index 1515
      width 100%
      height 58px
      line-height 58px
      font-size 18px
      padding 0 15px
      background #fff
      box-shadow 0 2px 8px rgba(0, 0, 0, 0.1)
    }
    .nav-left {
      display flex
      width 60%
      align-items center
    }
    .nav-left-a {
      width 100px
      color #333
      text-align center
    }
    .nav-left-a:hover {
      box-shadow 0 0 5px rgba(0, 0, 0, 0.2)
      border-bottom 5px solid $primary
      color $primary
    }
    .on {
      border-bottom 5px solid $primary
      color $primary
    }
  }
</style>

 

posted @ 2018-07-30 19:08  EthanCheung  阅读(590)  评论(0编辑  收藏  举报