Как добавить содержимое `...<span class =" sr-only ">(текущий)</ span></a>` в ссылку HTML при использовании Angular 2 **routerLink**?
Просто хочу знать, как включить <span class="sr-only">(current)</span>
на моей активной ссылке при использовании Angular 2 routerLink
?
Пример:
<ul class="nav nav-sidebar">
<li routerLinkActive="active">
<a routerLink="/dashboard">Dashboard <span class="sr-only">(current)</span></a>
</li>
<li>
<a href="">Registers</a>
</li>
<li routerLinkActive="active">
<a routerLink="/organizations">Organizations</a>
</li>
</ul>
Источники: Twitter Bootstrap> Специальные возможности> Пропустить навигацию ANgular 2 > МАРШРУТ И НАВИГАЦИЯ
2 ответа
Решение
В свой компонент вы можете добавить метод isActiveLink
лайк
@Component({
selector: 'my-app',
template: `
<ul class="nav nav-sidebar">
<li routerLinkActive="active">
<a routerLink="/dashboard">
Dashboard
<span *ngIf="isActiveLink('/dashboard')" class="sr-only">(current)</span>
</a>
</li>
<li>
<a href="">Registers</a>
</li>
<li routerLinkActive="active">
<a routerLink="/organizations">
Organizations
<span *ngIf="isActiveLink('/organizations')" class="sr-only">(current)</span>
</a>
</li>
</ul>
`,
styleUrls: ['app/app.component.css'],
})
export class AppComponent {
isActiveLink(link:string) {
return this.router.isActive(link);
}
constructor(private router:Router) {}
}
Если вы хотите просто отметить фактически активный маршрут, вы можете просто добавить routerLinkActive
к директиве (вы сделали это), добавив класс active
привязать тег, так что вы можете просто стилизовать активную ссылку в CSS. Если у вас есть что-то вроде:
<ul class="nav nav-sidebar">
<li routerLinkActive="active">
<a routerLink="/dashboard">Dashboard <span class="sr-only">(current)</span></a>
</li>
</ul>
Вы можете просто стилизовать это, используя это:
nav-sidebar li:active {
background-color: #00CAFE;
}