Erstelle ich eine kleine AngularJS App, die Bootstrap verwendet. Ich benutze die Boostraps Nav-Komponente und möchte den Menüpunkt der aktuellen Seite hervorheben.Wie man Pfad/Route in AngularJS zur Anzeige der aktuellen Ansicht im Menü
Ich muss in der Lage sein, den Pfad/die Route zu bestimmen, die der aktuellen Ansicht zugeordnet sind, damit ich die CSS-Klasse für meine Boostrap Nav-Links festlegen kann.
<ul class="nav navbar-nav">
<li data-ng-class="{'active': true}">
<a href="#">Home <span class="sr-only" data-ng-show="false">(current)</span></a>
</li>
<li data-ng-class="{'active': false}">
<a href="#/about">About Us <span class="sr-only" data-ng-show="false">(current)</span></a>
</li>
<li data-ng-class="{'active': false}">
<a href="#/services">Services <span class="sr-only" data-ng-show="false">(current)</span></a>
</li>
<li data-ng-class="{'active': false}">
<a href="#/testimonials">Testimonials <span class="sr-only" data-ng-show="false">(current)</span></a>
</li>
<li data-ng-class="{'active': false}">
<a href="#/contact">Contact <span class="sr-only" data-ng-show="false">(current)</span></a>
</li>
</ul>
Ich möchte die „wahr/falsch“ Werte in der Daten-ng-Klasse der LI-Elemente ersetzen, ein Ausdruck zu sein, der den Wert true, wenn LI die aktuell angezeigte Ansicht übereinstimmt, und auch Daten-ng -show wird unter denselben Umständen als wahr ausgewertet.
Ist das der beste Weg, dies zu erreichen?
Dies ist sinnvoll, aber ich sehe, dass location.path immer eine leere Zeichenfolge zurückgibt. Nicht sicher, was Sie mit HTML5-Modus gemeint haben ... Ich verwende HTML5 für dieses Projekt. – DesertFoxAZ
Gibt es eine leere Zeichenfolge für alle Routen zurück? Wie '#/über',' #/contact' usw.? In Bezug auf den 'html5'-Modus, überprüfen Sie diesen Link. Suche nach _hashbang_ oder _html5 mode_ https://docs.angularjs.org/guide/$location – Chinni
Ich musste das führende "#" Zeichen entfernen, es funktioniert jetzt. Danke – DesertFoxAZ