Wie kann ich CSS-Klassen bedingt auf Elemente in AngularJS anwenden?
Bedingte Klassenanwendung mit AngularJS
In AngularJS kann es vorkommen, dass Sie auf der Grundlage bestimmter Bedingungen eine Klasse bedingt auf ein Element anwenden müssen. So können Sie dies effizient erreichen.
Problem:
Betrachten Sie ein Array von Elementen, die als ul mit li-Tags für jedes Element gerendert werden. Sie haben eine selectedIndex-Eigenschaft auf dem Controller und möchten dem li eine Klasse mit dem entsprechenden Index hinzufügen.
Lösung:
1. Verwendung von ng-class:
AngularJS stellt die ng-class-Direktive bereit, mit der Sie Klassen basierend auf Ausdrücken dynamisch anwenden können. Um die Klasse „selected“ bedingt auf die li mit dem selectedIndex anzuwenden, können Sie Folgendes verwenden:
<li ng-class="{selected: $index == selectedIndex}">...</li>
2. Verwenden von ng:class:
(Syntax vor v1)
Für AngularJS-Versionen vor v1 können Sie ng:class mit einem Ausdruck verwenden, der auswertet direkt zu einem Klassennamen. Zum Beispiel:
<li ng:class="{true:'selected', false:''}[$index == selectedIndex]">...</li>
Vergleich der Lösungen:
Während beide Lösungen das gleiche Ergebnis erzielen, unterscheiden sie sich in der Funktionalität:
- ng-class akzeptiert ein Objekt, bei dem Eigenschaftsnamen Klassennamen darstellen und Eigenschaftswerte bestimmen, ob die Klasse angewendet wird. Dies ermöglicht eine komplexere Klassenanwendungslogik.
- ng:class erfordert einen Ausdruck, der einen bestimmten Klassennamen ergibt und weniger flexibel für die bedingte Verarbeitung mehrerer Klassen ist.
Zusätzliche Hinweise:
Sie können diese Technik auch verwenden, um Modelleigenschaften Klassennamen zuzuordnen und so CSS-Klassen fernzuhalten Controller-Code. Zum Beispiel:
<li ng-class="{admin:'enabled', moderator:'disabled', '':'hidden'}[user.role]">...</li>
Das obige ist der detaillierte Inhalt vonWie kann ich CSS-Klassen bedingt auf Elemente in AngularJS anwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Versuchen wir, hier einen Begriff zu prägen: "Statischer Formanbieter". Sie bringen Ihre HTML

Zu Beginn eines neuen Projekts erfolgt die SASS -Zusammenstellung im Blinzeln eines Auges. Dies fühlt sich gut an, besonders wenn es mit Browsersync kombiniert ist, das nachlädt

In der Zusammenfassung der Plattformnachrichten in dieser Woche stellt Chrome ein neues Attribut für das Laden, Zugänglichkeitspezifikationen für Webentwickler und die BBC -Bewegungen ein

Ich schaue mir das HTML -Element zum ersten Mal an. Ich habe es für eine Weile dessen bewusst, aber Haven ' Es wurde es noch nicht für einen Dreh genommen. Es hat einige ziemlich cool und

Buy or Build ist eine klassische Technologiedebatte. Das Aufbau von Dingen selbst ist vielleicht billiger, weil Ihre Kreditkartenrechnung keine Werbebuchung gibt, aber

In der Roundup in dieser Woche, einem praktischen Lesezeichen für die Inspektion von Typografie, unter Verwendung dessen, wie sich JavaScript -Module gegenseitig importieren, sowie Facebook ' s.

Für eine Weile war iTunes der große Hund im Podcasting. Wenn Sie also "Abonnieren Sie Podcast" verlinkt haben, um zu mögen:

Sie sollten auf jeden Fall weitausgestellte Cache-Header auf Ihren Vermögenswerten wie CSS und JavaScript (und Bilder und Schriftarten und was auch immer) festlegen. Das sagt dem Browser
