【发布时间】:2020-11-21 08:33:42
【问题描述】:
我有一个路由结构,例如:
{
path: '/post/'
component: Post,
children: [
{
path: '/',
component: Text,
},
{
path: 'text/',
component: Text,
},
{
path: 'video/',
component: Video,
},
],
}
重要的是路由
/post/text/只是/post/(在本例中为根点)的“别名”。此外,路由器配置具有自定义的linkActiveClass选项,例如带有一些已定义样式的 'act'。
在父模板中,我有带有router-link 的标签:
<ul>
<li>
<router-link to="/post/text/">Text</router-link>
</li>
<li>
<router-link to="/post/video/">Video</router-link>
</li>
</ul>
所以问题是: 当转到/post/ 路线时,最好将 Text 选项卡与该 标记为“活动” act' 类,因为它只是 /post/text/ 的副本(反之亦然)。
我在Vue Router 文档中没有发现任何提及这一点。此类问题如何妥善解决?
提前致谢!
解决方案(TL;DR - 当前不受支持,已在 v4 中修复)
实现这一点的最简单方法 - 使用 route alias prop,例如:
{
path: 'text/',
component: Text,
alias: '/',
},
但是,不幸的是,active-class 还不能与别名一起正常工作。 It has been fixed in Vue Router v4.
【问题讨论】:
标签: vue.js vue-router routerlink