Angular 2/4 - routerLinkActive funktioniert nicht richtig

8

Ich habe ein Problem mit meinem RouterLinkActive.

Hier sind zwei Gifs zu erklären.

  1. Erstes Problem: Wenn ich die App starte, gibt keiner der routerLinkActive die Klasse aktiv. Aber wenn ich auf eine andere Route klicke, funktioniert das endlich.

  1. Wenn ich zuerst auf die aktuelle Route klicke, wird die Klasse nicht angezeigt.

Hier ist mein Code:

%Vor%

Hier ist der Baum meiner Route. (in rot die Komponente genannt)

und mein Routencode:

%Vor%

und menuItem ist:

%Vor%

Weißt du, was mein Problem sein kann?

BEARBEITEN:

Ich habe es versucht:

absolute Route. zB:

%Vor%

mit

%Vor%

und

%Vor%

Und das Ergebnis ist das gleiche. Funktioniert nicht.

EDIT2:

hinzufügen:

[routerLinkActiveOptions]="{genau: wahr}" zu:

%Vor%

löst das Problem nicht.

EDIT3:

Die Erweiterung Augury sagt mir, dass routerLink für die gute Route stimmt. Aber die Klasse ist nicht im DOM aktiviert.

EDIT4:

Also, ich habe etwas erforscht.

Ich habe festgestellt, dass, wenn ich meine menuComponent (sidebar) in den Elternstamm, das funktioniert, ich die aktive Klasse angezeigt wird ( Aber ich möchte es nicht in das übergeordnete legen) )

EDIT5:

Ich habe einen Fehler gemacht ... Und der Plünderer funktioniert ... Ich verstehe es nicht.

Ссылка

    
Wandrille 12.09.2017, 09:28
quelle

3 Antworten

3

Ich habe also viel Zeit mit diesem Problem verbracht.

Ссылка

Das Ding ist: Das funktioniert mit Winkel 2 aber nicht Winkel 4.

Ich habe einen Hack für eckige 4 gefunden:

%Vor%

mit:

%Vor%

EDIT ANGULAR 5:

Mit Angular 5 ist der Fehler verschwunden!

    
Wandrille 13.09.2017, 07:57
quelle
2

Versuchen Sie Folgendes:

%Vor%     
Vignesh 12.09.2017 12:59
quelle
0

Sieht so aus, als ob die HomeComponent lazy geladen ist. Sie müssen Ihre Routen nicht in die root-Komponente verschieben. Versuchen Sie einfach, das RouterModule zur Root-Komponente hinzuzufügen.

Weitere hier

    
Surender Kherwa 12.09.2017 15:45
quelle