2017-06-12 2 views
0

Ich möchte die aktive Klasse dem li-Tag in angular2 zuweisen, bin aber blockiert.Angular2 weist dem li-Tag eine aktive Klasse zu

Dies ist, was ich habe

versucht, ich habe

export class SecondaryNavComponent implements OnInit { 

    //thinking of using to determine active link 

constructor(public _router:Router) { } //tried also with private 

ngOnInit() { 
} 

}

<li [class.active]=" _router.isRouteActive(_router.generate(['/dashboard']))" > 

    //the above _router.isRouteActive throws an error 

    <a routerLink="/dashboard"> 
    <i class="icon-display4 position-left"></i> Dashboard</a> 
</li> 

in meiner ts Datei

den Fehler

liest
ERROR TypeError: co._router.generate is not a function 

ALse webstorm generates an error that 
unkwon method router is active 

Was könnte falsch sein?

Antwort

1

Verwenden Sie einfach die RouterLinkActive Richtlinie dafür:

https://angular.io/docs/ts/latest/api/router/index/RouterLinkActive-directive.html

Es ist bereits in der @angular/router Paket.

+0

Die routerLink aktive Direktive setzt die aktive Klasse auf dem a Tag, aber nicht auf dem äußeren li –

+0

Es kann auch die aktive Klasse auf einem Vorfahren eines routerLinks setzen, lies den Klassenbeschreibungsabschnitt mit den Beispielen – cyrix

+0

, danke ich sehe auf dem Teil mit .............. Schließlich können Sie die RouterLinkActive-Direktive auf einen Vorfahren eines RouterLinks anwenden. –

Verwandte Themen