ich eine andere Markup für aktive und inaktive Menüpunkte angezeigt werden soll, so dass aktiver Menüpunkt nicht a
-Tag enthält:Angular - in ngIf aktive Route erkennt
<li>
<a routerLink="/abc">Inactive</a>
</li>
<li>Active</li>
Die routerLinkActive
Richtlinie hier nicht helfen da es nur eine Klasse für die aktive Route hinzufügen kann, aber kein anderes Markup verwenden soll. Ich verstehe, dass ich Router
meiner Komponente injizieren kann und so etwas wie dieses
<li>
<ng-container *ngIf="router.isActive('/abc')">Active</ng-container>
<a *ngIf="!router.isActive('/abc')" routerLink="/abc">Inactive</a>
</li>
verwenden, aber ist es eine bessere integrierte Lösung für diesen Fall?
Gibt es einen bestimmten Grund, warum Sie den aktiven Tag "" entfernen möchten? Der Router reagiert nicht auf einen Klick darauf und wenn Sie den "Zeiger" über CSS für den aktiven Link ändern, sollte dies auch für den Benutzer nicht verwirrend sein. Imo die einfachste Methode, es sei denn, Sie haben einen wichtigen Grund, die '' vollständig zu entfernen. – TommyF
Meist Markup-Anforderungen. Ja, ich habe auch darüber nachgedacht, CSS zu verwenden, damit es wie ein Nicht-Link-Element aussieht – Random