active-class 属于哪个组件中的属性?该如何使用?
active-class 是 Vue Router 提供的一个自定义激活 class 名的属性,它是 <router-link> 组件中的专用属性。
1. 属于哪个组件?
active-class 是 <router-link> 组件 的一个 prop。
2. 有什么用?
当 <router-link> 指向的路径是当前路由时,它会自动应用一个 CSS class,默认是:
.router-link-active
你可以用 active-class 改掉这个 class 名,自定义你想要的样式名。
3. 如何使用?
默认写法:
<router-link to="/home" active-class="my-active-class">首页</router-link>
当前路由是 /home 时,DOM 元素会加上 my-active-class,你就可以自定义样式了。
.my-active-class {
color: red;
font-weight: bold;
}
- 与 exact-active-class 的区别
| 属性名 | 匹配方式 | 默认类名 |
|---|---|---|
active-class |
模糊匹配(路径前缀一致) | .router-link-active |
exact-active-class |
精确匹配(路径完全一致) | .router-link-exact-active |
例子:
<!-- 当前路由是 /home -->
<router-link to="/home" active-class="is-active">首页</router-link>
<router-link to="/home/info" active-class="is-active">信息</router-link>
/home/info 也会给 /home 的 link 加上 .is-active,因为它是前缀一致。
若要严格匹配,用 exact-active-class。
结论
active-class 是 <router-link> 的 prop,用来自定义选中时的 class。
默认使用 .router-link-active,可以自定义为你自己的类名。
常用于菜单高亮、tag 激活样式等。
浙公网安备 33010602011771号