vue 嵌套路由,router-link-active的问题

效果
在点击主路由的时候,会有一个active的样式
在这里插入图片描述

但是在点击了子路由之后:

vue 嵌套路由,router-link-active的问题_第1张图片

一开始我是用vue里面router-link-exact-active来做的

在子路由点击的时候,要保证此时当前的激活路由还处于active状态,显然如果用router-link-exact-active 来做的话 ,就不能实现了。即在你点击子路由的时候,主路由的active样式就消失了,

router-link-active 表示当前路由被激活的时候,添加的属性

在第一个’/'添加exact之后,默认是false,发现,在点击子路由的时候,被激活的’资料设置‘这个路由存在router-link-active属性,所以把router-link-exact-active改为router-link-active 解决了这个样式的问题。

加上exact 属性 表示 ,不加的时候,每个路由都会激活当前这个路由 ,就是每个路由激活的时候 都会使得

刚开始:

 <b-navbar-item class="navbarItem" 
                      tag="router-link" 
                      active-class="activeNav"  
                      v-if="value.flag" 
                      v-for="(value, name, index) in navLinks" 
                      :class="value.isHide"  
                      :key="index" 
                      :to="{path:name}" 
                      exact>
  <span class="main-nav__label">{{value.label}}</span>
</b-navbar-item>

现在把active 去掉,现在点击时合适,nice !!!

vue 嵌套路由,router-link-active的问题_第2张图片

你可能感兴趣的:(Vue)