router-link组件中的属性——active-class

主要作用是用来实现选中样式的切换,在vue-router中要使用active-class有两种方式:

1、 在router-link 中写入active-class active-class 选择样式时根据路由中的路径 (to=“/home”) 去匹配, 然后显示:

<router-link to="/home"class="menu-home"active-class="active">首页</router-link>

2、直接在路由js文件中配置linkActiveClass:

 exportdefaultnewRouter({
     linkActiveClass:'active',
 })

<div class="menu-btn">
    <router-link to="/"class="menu-home"active-class="active">
        首页
    </router-link>
</div>

<div class="menu-btn">
    <router-linkto="/my"class="menu-my"active-class="active">
        我的
    </router-link>
</div>

引起的问题:

因为to="/" 引起的, active-class选择样式时根据路由中的路径去匹配, 然后显示, 例如在my页面中, 路由为localhost:8081/#/my,那么to="/”和to="/my"都可以匹配到, 所 有都会激活选中样式

解决方法:

        1.在 router-link 中写入 exact:

<router-link to="/" class="menu-home"active-class="active" exact>首页</router
ink>

        2.在路由中加入重定向:

<router-link to="/" class="menu-home"active-class="active"exact>首页</router-link>
 {
 path: '/',
 redirect: '/home
}

  • 13
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值