vue-router欲设置 链接激活时默认使用的 CSS 类名,用到linkActiveClass来配置。
1. 在配置路由的js里,

const routes=[
  {path:'/goods',component:goods},
  {path:'/ratings',component:ratings},
  {path:'/seller',component:seller}
]

let router=new VueRouter({
    linkActiveClass:'active', //在路由的构造选项里配置默认类名为active
    routes,
})

let vue=new Vue({
    el:'#app',
    template:'<app/>',
    router,
    components:{App}
})
vue.$mount('#app')
router.push('/goods')
  1. 在app.vue里的样式里,使用active类名进行激活时样式的设置。
<style lang="stylus" rel="stylesheet/stylus">
  #app
    .tab
      display:flex //布局写在前面
      width:100% //宽高其次
      height:40px
      line-height:40px 
      .tab-item //最后才是可继承的
        flex:1
        text-align:center
        &>a
          display:block
          font-size 14px
          color rgb(77,85,93)
          &.active //这里要缩进,activea的属性
            color red
</style>

我设置激活类名无效的原因是:&.active没有缩进,则&指的就不是了,而是a的上一级.tab-item。

&.active意思是命中a且a为active时,color为red。

最后,使用stylus时记得缩进啊!!!

Logo

前往低代码交流专区

更多推荐