2017-06-08 4 views
1

So möchte ich ein Ankerelement auf meiner Kopfzeile verschwinden lassen, wenn eine bestimmte Seite getroffen wird. Wie kann ich die URL in der * ngIf abfangen, wenn diese Seite getroffen wird.So fangen Sie Routen in * ngIf

Ich habe eine Kopfzeile, die für alle Seiten gleich bleibt. Ich muss nur ein Ankerelement verstecken, wenn ich an/home weitergeleitet werde. Wie man dieses "/ home" in * ngIf fängt?

* ngIf = "href = '/ home'" funktioniert nicht. Irgendwelche Alternativen?

+0

Try * ngIf = "[routerLinkActive] ==" '/ home' "; nicht getestet –

Antwort

1

//mycomponent.component.ts 
 
class MyComponent { 
 
    constructor(private router: Router){ 
 

 
    } 
 
} 
 

 
//mycomponent.component.html 
 
    <div *ngIf="router.url === '/some/route'"> 
 

 
    </div>

0

Sie können den aktuellen Routenpfad mit der Methode location.path() überprüfen und entscheiden, ob die Route /home aktiviert ist oder nicht.

*ngIf="isHomeRouteActivated()" 

-Code

//Inject `Location` dependency before using it 
isHomeRouteActivated(): boolean{ 
    //Find more better way to do it. 
    return this.location.path().indexOf('/home') > -1; 
}