Anwenden von CSS-aktiven router link [Eckige 2]
Ich möchte ein spezielles CSS-style-Eigenschaften zu aktiven router-links:
HTML:
<a [routerLink]='link'>{{name}}</a>
Hier ist, was ich versucht habe, so weit (Mit der Standard-router-link-active-Klasse):
CSS:
.router-link-active {
color: #000;
font-weight: bold;
}
Es funktioniert nicht und ich verstehe wirklich nicht, warum.
- Ich glaube nicht, dass es tatsächlich ein Duplikat ist; die andere Frage war für Winkel-1, während dies angular2, und angular2 router ist mehrere Versionen entfernt von angular1 ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Derzeit Winkel-2 hat eine Baujahr-Attribut, die Sie verwenden können Sie auf einen link, der verwendet wird, mit
[routerLink]
es istrouterLinkActive
so alle Sie tun müssen ist:und dann wird es zu erkennen, welche route ist die aktive route und wenden Sie Ihre router-link-active-Klasse.
HINWEIS:
Für diejenigen, die mit routerLink auf tags andere als
a
tags, (ich persönlich benutze es auf einer Taste)routerLinkActive
funktioniert nicht, sollte aber die Arbeit an der nächsten Version der router - https://github.com/angular/angular/issues/9755Den neuen router hat eine Richtlinie genannt "routerLinkActive" das ist, was Sie interessiert sind in.
Ex.
<a [routerLink]="/user/bob" routerLinkActive="active-link">Bob</a>
", Wenn die url ist entweder "/user "oder" /user/bob', der active-link-Klasse Hinzugefügt werden, um das a-tag. Wenn sich die url ändert, wird die Klasse entfernt."
Ohne alles besser wissen, das ist die Richtung, würde ich Sie an.
HTML:
Wenn
routerLink.something === something
oder was auch immer-Ausdruck, den Sie möchten, zu true ausgewertet, die Klasse (und styling) angewendet werden.