Heim Web-Frontend CSS-Tutorial So bleiben CSS-Klassen von Angular-Controllern unberührt

So bleiben CSS-Klassen von Angular-Controllern unberührt

Nov 06, 2018 pm 03:26 PM

In Angular (und im Allgemeinen) bin ich ein großer Fan davon, die Ansichtslogik außerhalb meiner Controller zu halten, und ich denke, dass dies bei der Verwendung von CSS-Klassen und ng-Klassen nicht der Fall ist.

Sie sind vielleicht nicht mit ng-class vertraut, es handelt sich um eine spezielle Direktive, die das Binden von Ausdrücken und deren Platzierung als Klassen von Elementen ermöglicht. Eine sehr häufige Verwendung von ng-class ist wie folgt:

<p ng-class="{{active}}">Class applied!</p><script>
    function MySimpleCtrl() {
        $scope.active = &#39;active&#39;;
        ...
Nach dem Login kopieren

Also legen wir im Controller die spezifische Klasse fest, die angezeigt werden soll; wir nehmen also an, dass wir eine Klasse „inaktiv“ haben – wir ändern einfach den Bereich Die Variable .active wird auf „inaktiv“ gesetzt und wir legen schließlich die Klasse in der Ansicht fest.

Aber ng-class ist noch besser:

ng-class akzeptiert drei verschiedene Arten von Werten:

1. String-Wert (Name der Klasse)

2. String-Array (anzuwendende Klasse)

3. Objekt + auszuwertender Ausdruck

Die Syntax von Option 3 sieht so aus

ng-class="{object of key/value pairs}[expression to evaluate]"
Nach dem Login kopieren

Grundsätzlich gilt: ng-class wertet den Ausdruck (in eckigen Klammern) aus und verwendet ihn dann als Schlüssel für das Objekt; der mit dem Schlüssel verknüpfte Wert ist die angewendete Klasse.

Dadurch können wir den $scope.active-Wert in einen echten Booleschen Wert umwandeln (genau so verwenden wir ihn) – ohne Ansichtslogik im Controller ist der Controller einfacher zu testen und kann wiederverwendet werden.

Hier ist ein einfaches Beispiel:

<p ng-class="{true: &#39;active&#39;, false: &#39;inactive&#39;}[isActive]">
    Class applied
!</p><script>
    function MySimpleCtrl() {
        $scope.isActive = true;
Nach dem Login kopieren

Wenn Sie eine Art bedingten Ausdruck (z. B. Umschalten) verwenden, können Sie eine andere, sehr ähnliche Syntax verwenden:

ng-class="{&#39;selected&#39;: isSelected, &#39;blue&#39;: isBlue}"
Nach dem Login kopieren

Hier , wenn selected wahr ist, wird die ausgewählte Klasse angewendet, ebenso wie die blaue Klasse. Angular wendet so viel Realismus wie möglich an, sodass Sie die Klassen auf „Ausgewählt“ und „Blau“ setzen können.

Das obige ist der detaillierte Inhalt vonSo bleiben CSS-Klassen von Angular-Controllern unberührt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Machen Sie Ihren ersten Seltsamen -Sufle -Übergang Machen Sie Ihren ersten Seltsamen -Sufle -Übergang Mar 15, 2025 am 11:08 AM

Die Sufelte Transition -API bietet eine Möglichkeit, Komponenten zu beleben, wenn sie das Dokument eingeben oder verlassen, einschließlich benutzerdefinierter Svelte -Übergänge.

Aufbau einer Ethereum -App mit Redwood.js und Fauna Aufbau einer Ethereum -App mit Redwood.js und Fauna Mar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Show, Don ' Tell Show, Don ' Tell Mar 16, 2025 am 11:49 AM

Wie viel Zeit damit, die Inhaltspräsentation für Ihre Websites zu entwerfen? Wenn Sie einen neuen Blog -Beitrag schreiben oder eine neue Seite erstellen, denken Sie darüber nach

Wie verwenden Sie CSS, um Texteffekte wie Textschatten und Gradienten zu erstellen? Wie verwenden Sie CSS, um Texteffekte wie Textschatten und Gradienten zu erstellen? Mar 14, 2025 am 11:10 AM

In dem Artikel werden CSS für Texteffekte wie Schatten und Gradienten verwendet, diese für die Leistung optimiert und die Benutzererfahrung verbessert. Es listet auch Ressourcen für Anfänger auf (159 Zeichen)

Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Erstellen Sie Ihr eigenes Bragdoc mit ELEITY Mar 18, 2025 am 11:23 AM

Unabhängig davon, in welcher Phase Sie als Entwickler Sie befinden, haben die Aufgaben, die wir erledigen - ob groß oder klein - einen enormen Einfluss auf unser persönliches und berufliches Wachstum.

Was zum Teufel haben NPM -Befehle? Was zum Teufel haben NPM -Befehle? Mar 15, 2025 am 11:36 AM

NPM-Befehle führen verschiedene Aufgaben für Sie aus, entweder als einmalige oder als kontinuierlich ausgeführter Vorgang für Dinge wie das Starten eines Servers oder das Kompilieren von Code.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

See all articles