[英]Angular 2 using routerLinkActive with path based arguments in URL
我的应用程序有 2 条路线、一个仪表板和一个详细信息页面,其 ID 是 url 的一部分。
RouterModule.forRoot([
{ path: '', component: DashboardComponent },
{ path: 'documents/:documentUUID', component: DocumentDetailComponent },
])
对于我的导航栏,我有 2 个链接, Dashboard
和Training
。 当我在详细信息页面上时(例如 /documents/01e328b8-822d-46d8-8229-78f4afb2e372/),应该突出显示Training
链接。 但是,单击“ Training
”绝不应该做任何事情。
这就是我目前所拥有的,它基于 URL 正确突出了Training
链接。 但是,单击Training
会触发Cannot match any routes. URL Segment: 'documents'
Cannot match any routes. URL Segment: 'documents'
错误。
<nav>
<a routerLink="/" [routerLinkActive]="'is-current'" [routerLinkActiveOptions]="{exact: true}">Dashboard</a>
<a routerLink="/documents/" [routerLinkActive]="'is-current'" [routerLinkActiveOptions]="{exact: false}">Training</a>
</nav>
在不向Training
链接添加 href/routerLink 的情况下,如何实现我想做的事情?
最终从 router.url 获取当前的router.url
并使用[ngClass]
而不是[routerLinkActive]
。 不是我理想的解决方案,但它有效并且可能更有意义。
<a [ngClass]="{'is-current': router.url.startsWith('/documents/')}">Training</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.