简体   繁体   English

使用Angular 2 ** routerLink **时,如何在HTML链接中添加内容“… <span class=“sr-only”>(当前)</span> ”?

[英]How to add the content `…<span class=“sr-only”>(current)</span></a>` into the HTML link when using Angular 2 **routerLink**?

Just wanting to know how include <span class="sr-only">(current)</span> on my clicked active link when using Angular 2 routerLink ? 只想知道使用Angular 2 routerLink如何在单击的活动链接中包含<span class="sr-only">(current)</span>

Example: 例:

<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>

Sources: Twitter Bootstrap > Accessibility > Skip navigation ANgular 2 > ROUTING & NAVIGATION 来源: Twitter引导程序>辅助功能>跳过导航 ANgular 2>路由和导航

In your component, you can add a method isActiveLink like 在您的组件中,您可以添加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) {}
}

If you want just mark actually active route, you can just add routerLinkActive to directive (you did this), it adding class active to anchor tag, so you can simply style active link in css. 如果您只想标记实际活动的路由,则可以只将routerLinkActive添加到指令(您这样做了),它将active类添加到锚标记,因此您可以简单地在css中设置活动链接的样式。 If you have something like : 如果您有类似的东西:

<ul class="nav nav-sidebar">
    <li routerLinkActive="active">
        <a routerLink="/dashboard">Dashboard <span class="sr-only">(current)</span></a>
    </li>
</ul>

you can simply style it, using this: 您可以使用以下方法简单地设置样式:

nav-sidebar li:active {
   background-color: #00CAFE;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM