detaillierte Erl?uterung der Methode der bedingten Anwendung von CSS -Klassen in Vue.js
Kernpunkte:
- In Vue.js kann die bedingte Anwendung von CSS -Klassen durch Bindung von JavaScript -Objekten an
class
Attribute implementiert werden. Die Attribute des Objekts entsprechen dem CSS -Klassennamen, und sein Wert ist ein JavaScript -Ausdruck, der bestimmt, ob die Klasse angewendet werden soll. - vue.js bietet zwei Syntaxe zum Erstellen von Klassenbindungen: Objektsyntax und Array -Syntax. Die Objektsyntax ist pr?gnanter, w?hrend die Array -Syntax den Vorlagencode l?schter macht. Welche Grammatik zu w?hlen ist, h?ngt von der pers?nlichen Pr?ferenz ab.
- vue.js unterstützt eine mehrfache Methode zur Bindung von bedingten Klassen, einschlie?lich der Verwendung tern?rer Operatoren, der Objektsyntax zur Bindung mehrerer Klassen, unter Verwendung von berechneten Eigenschaften, Kombination von statischen und Bindungsklassen und bedingten Bindungs ??-Inline -Stilen.
Manchmal die CSS -Klasse, die zur Laufzeit ge?ndert werden muss. Wenn Sie jedoch den Unterricht wechseln, ist es manchmal am besten, Stildetails bedingt anzuwenden. Angenommen, Ihre Ansicht hat einen Pager. Pager werden h?ufig verwendet, um gr??ere Projekts?tze zu navigieren. Beim Navigieren ist es für den Benutzer hilfreich, die Informationen auf der aktuellen Seite anzuzeigen. Der Projektstil ist nach der aktuell angezeigten Seite bedingt eingestellt. In diesem Fall k?nnte der Pager so aussehen:
In diesem Beispiel gibt es fünf Seiten, nur eine Seite kann gleichzeitig ausgew?hlt werden. Wenn Sie diesen Pager mit Bootstrap erstellen, wendet die ausgew?hlte Seite eine CSS -Klasse mit dem Namen active
an. Diese Klasse ist nur erforderlich, wenn die Seite derzeit angezeigt wird. Mit anderen Worten, die CSS -Klasse muss bedingt angewendet werden. Glücklicherweise bietet Vue eine M?glichkeit, CSS -Klassen zur Laufzeit auf Elemente anzuwenden, die ich in diesem Artikel demonstrieren werde.
Um CSS -Klassen zur Laufzeit bedingt anzuwenden, k?nnen Sie an ein JavaScript -Objekt binden. Um diese Aufgabe erfolgreich zu erledigen, müssen zwei Schritte ausgeführt werden. Zun?chst müssen Sie sicherstellen, dass die CSS -Klasse definiert ist. Erstellen Sie dann die Klassenbindung in der Vorlage. Ich werde diese Schritte im Rest dieses Artikels ausführlich erkl?ren. active
Schritt 1: Definieren Sie die CSS -Klasse
Angenommen, die im obigen Bild angezeigten fünfseitigen Elemente verwenden die folgende HTML -Definition:
Beachten Sie, dass jede Seite in diesem Code -Snippet ein Listenelementelement hat (das Element der dritten Listenelement enth?lt eine Klasse
). Wie Sie erraten k?nnen, ist dies eine CSS -Klasse, die Sie bedingt bewerben m?chten. Dazu müssen Sie ein JavaScript -Objekt hinzufügen.<div id="myApp"> <nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">1</a></li> <li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">2</a></li> <li class="page-item active"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">3</a></li> <li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">4</a></li> <li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">5</a></li> </ul> </nav> </div>
active
Schritt 2: Erstellen Sie eine Klasse -Bindung
Beim Erstellen von Klassenbindungen in einer Vorlage gibt es zwei Hauptoptionen: Verwenden Sie die Objektsyntax oder verwenden Sie die Array -Syntax. Ich werde Ihnen zeigen, wie Sie beide Methoden im Rest dieses Artikels verwenden.
Bindung unter Verwendung der ObjektsyntaxUm Klassenbindungen unter Verwendung der Objektsyntax zu erstellen, müssen JavaScript -Ausdrücke verwendet werden. Die Ausdrücke, die wir verwenden, sind in dem Code zu diesem Artikel zu sehen. Der relevante Code ist wie folgt:
<div id="myApp">
<nav aria-label="Page navigation example">
<ul class="pagination">
<li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">1</a></li>
<li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">2</a></li>
<li class="page-item active"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">3</a></li>
<li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">4</a></li>
<li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">5</a></li>
</ul>
</nav>
</div>
reduziert die Codemenge mit der integrierten v-for
-Richtlinie von VUE. Diese Richtlinie wird verwendet, um Projekte in einer Schleife zu rendern. Das Element in diesem Beispiel ist die Seite selbst. Zus?tzlich zur Verwendung des Befehls v-for
sollten Sie auch auf die Verwendung des Befehls v-bind
achten. Die v-bind
-Richtlinie verbindet das Attribut class
des Elements mit der VUE -Instanz. Die VUE -Instanz ist wie folgt definiert:
<div id="myApp"> <nav aria-label="An example with pagination"> <ul class="pagination"> <li v-for="page in totalPages" :class="{'page-item':true, 'active':(page === currentPage)}"> <a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">{{ page }}</a> </li> </ul> </nav> </div>
Diese Vue -Instanz ist sehr einfach. Das obige data
-Objekt enth?lt eine Eigenschaft mit dem Namen currentPage
. Wenn Sie die oben definierte HTML -Vorlage erneut besuchen, werden Sie feststellen, dass auf diese Eigenschaft verwiesen wird. Tats?chlich sieht das JavaScript -Objekt, das jeder Klassenbindung zugeordnet ist
var app = new Vue({ el: 'http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bmyApp', data: { totalPages: 5, currentPage: 3 } });Dieses Objekt definiert zwei Eigenschaften:
und page-item
. Es ist erw?hnenswert, dass dies die beiden in Schritt 1 diskutierten Namen der CSS -Klasse sind. In Schritt 2 sind diese beiden Klassenreferenzen im JavaScript -Objekt zu Eigenschaftsnamen geworden. Der mit diesen Eigenschaftsnamen verbundene Wert ist ein JavaScript -Ausdruck. Wenn der Ausdruck auf echte Werte bewertet wird, wird die CSS -Klasse einbezogen. Wenn der Ausdruck auf False bewertet wird, enth?lt active
die CSS -Klasse nicht. Lassen Sie uns unter Berücksichtigung dieser Regeln jedes Attribut betrachten. Der Wert der ersten Eigenschaft ist . Dieser hartcodierte Wert wird verwendet, da die Klasse page-item
immer erforderlich ist. Die zweite Eigenschaft true
verwendet JavaScript -Ausdrücke. Wenn dieser Ausdruck wahr ist, wird die page-item
-Kl?ufe angewendet. Dies erm?glicht es uns, die active
-Klasse bedingt entsprechend dem Wert von active
zu anwenden. Eine andere M?glichkeit, die currentPage
-Klasse bedingt anzuwenden, besteht darin, an ein Array zu binden. active
active
Bindung mit Array -Syntax
vue erm?glicht es, Listen der CSS -Klassen durch Bindung an ein Array anzuwenden. Wenn Sie die Array -Syntax verwenden m?chten, wird die in Schritt 1 angezeigte HTML:
Version mit der Array -Syntax ausführen. Der einzige Unterschied besteht darin, dass Arrays für Klassenbindungen verwendet werden. Diese Alternative erfordert das Vorhandensein von zwei anderen Eigenschaften in Vues
{'page-item':true, 'active':(page === currentPage)}-Objekt. Diese beiden Eigenschaften sind:
und data
. Der aktualisierte Vue -Initialisierungscode, der diese Eigenschaften enth?lt, lautet wie folgt: pageItemClass
activeClass
<div id="myApp"> <nav aria-label="An example with pagination"> <ul class="pagination"> <li v-for="page in totalPages" :class="[pageItemClass, (page === currentPage) ? activeClass : '']"> <a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">{{ page }}</a> </li> </ul> </nav> </div>-Objekts zu, der Code in der Vorlage ist bei der Verwendung von Array -Syntax jedoch etwas pr?gnanter. Die Objektsyntax ist kompakter. Die Auswahl zwischen Objektsyntax und Array -Syntax h?ngt von der pers?nlichen Pr?ferenz ab. Beide Methoden scheinen HTML -Vorlagen komplizierter zu machen. Aber hier ist tats?chlich mehr drauf. Tats?chlich trennen wir den Fokus. Wir erstellen eine datengesteuerte Vorlage. Dies erleichtert die Prüfung der Ansicht und leichter zu warten, wenn die Anwendung w?chst.
data
Ich hoffe, dieser Artikel wird Ihnen hilfreich sein. Wenn Sie mehr über Vue.js erfahren m?chten, k?nnen Sie sich andere Vue -Inhalte auf SitePoint ansehen.
(Folgendes ist eine pseudooriginale Erstellung des FAQ-Teils im Originaltext, wobei die ursprüngliche Bedeutung beibeh?lt, aber den Ausdruck umgeschrieben hat)
FAQs bei der Anwendung von CSS -Klassen in VUE.JS bedingten
Wie verwendet ich tern?re Operatoren für die bedingte Klassenbindung? In Vue.js k?nnen tern?re Operatoren zur bedingten Klassenbindung verwendet werden. Dies ist ein einfacher und effizienter Weg, um auf der Grundlage der Bedingungen zwischen zwei Klassen zu wechseln. Beispiele sind wie folgt: In diesem Beispiel wird die Bedingung wahr, wenn die Bedingung falsch ist, Wie kann man mehrere Klassen in vue.js bedingt binden?
wahr,
Ja, bedingte Klassenbindung kann in Vue.js. verwendet werden. Computereigenschaften sind nützlich, wenn die Ermittlung der Logik einer Klasse komplex ist. Beispiele sind wie folgt:
Definieren Sie in der VUE -Instanz
In Vue.js k?nnen statische Klassen und Bindungsklassen kombiniert werden. Dies ist sehr nützlich, wenn Sie immer eine bestimmte Klasse anwenden müssen, aber Sie müssen auch andere Klassen bedingt anwenden. Beispiele sind wie folgt:
in diesem Beispiel wird werden jeweils
vue.js erm?glicht eine bedingte Bindung von Inline -Stilen mithilfe der Objektsyntax. Dies ist nützlich, wenn bestimmte Stile gem?? den Bedingungen angewendet werden müssen. Beispiele sind wie folgt:
In diesem Beispiel ist die Farbe rot und wenn wahr ist. Das obige ist der detaillierte Inhalt vonSo wenden Sie eine CSS -Klasse in Vue.js bedingt an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!<div :class="condition ? 'classA' : 'classB'"></div>
classA
wird angewendet. Die Bedingung kann jeder gültige JavaScript -Ausdruck sein. classB
<div :class="{ 'classA': conditionA, 'classB': conditionB }"></div>
conditionA
wird angewendet; Sowohl classA
als auch conditionB
k?nnen jeder gültige JavaScript -Ausdruck sein. classB
conditionA
conditionB
K?nnen Sie berechnete Attribute für die bedingte Klassenbindung in Vue.js verwenden? <div :class="computedClass"></div>
als berechnete Eigenschaft: computedClass
In diesem Beispiel gibt das berechnete Attribut <div id="myApp">
<nav aria-label="Page navigation example">
<ul class="pagination">
<li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">1</a></li>
<li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">2</a></li>
<li class="page-item active"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">3</a></li>
<li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">4</a></li>
<li class="page-item"><a class="page-link" href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">5</a></li>
</ul>
</nav>
</div>
computedClass
Wie kann man statische und gebundene Klassen in Vue.js kombinieren? <div :class="['staticClass', { 'classA': conditionA, 'classB': conditionB }]"></div>
immer angewendet, und staticClass
bzw. classA
angewendet. classB
conditionA
conditionB
Wie kann man Inline -Stile in vue.js bedingt binden? <div :style="{ color: conditionA ? 'red' : 'blue', fontSize: conditionB ? '12px' : '16px' }"></div>
falsch ist, ist die Farbe blau. In ?hnlicher Weise betr?gt die Schriftgr??e conditionA

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

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

Java und JavaScript sind unterschiedliche Programmiersprachen, die jeweils für verschiedene Anwendungsszenarien geeignet sind. Java wird für die Entwicklung gro?er Unternehmen und mobiler Anwendungen verwendet, w?hrend JavaScript haupts?chlich für die Entwicklung von Webseiten verwendet wird.

JavaScriptComents AreseessentialFormaintaining, Lesen und GuidingCodeexexecution.1) einzelne Linecommments Arequickickexplanationen.2) Multi-LindexplainComproxlogicorProvedetailedDocumentation.3) InlinecommentsclarifyspecificPartsosensofCode.BestPracticic

Die folgenden Punkte sollten bei der Verarbeitung von Daten und Zeiten in JavaScript festgestellt werden: 1. Es gibt viele M?glichkeiten, Datumsobjekte zu erstellen. Es wird empfohlen, ISO -Format -Zeichenfolgen zu verwenden, um die Kompatibilit?t sicherzustellen. 2. Die Zeitinformationen erhalten und festlegen k?nnen und setzen Sie Methoden fest, und beachten Sie, dass der Monat mit 0 beginnt. 3. Die manuell formatierende Daten sind Zeichenfolgen erforderlich, und auch Bibliotheken von Drittanbietern k?nnen verwendet werden. 4. Es wird empfohlen, Bibliotheken zu verwenden, die Zeitzonen wie Luxon unterstützen. Das Beherrschen dieser wichtigen Punkte kann h?ufige Fehler effektiv vermeiden.

PlatztagsattheBottomofabogpostorwebpageServeSpracticalPurposesforseo, Usexperience und design.1ithelpswithseobyallowingEnginestoaccessKeyword-relevantTagswithoutClutteringHemainContent.2.

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

Ereigniserfassung und Blase sind zwei Phasen der Ereignisausbreitung in DOM. Die Erfassung erfolgt von der oberen Schicht bis zum Zielelement, und die Blase ist vom Zielelement bis zur oberen Schicht. 1. Die Ereigniserfassung wird implementiert, indem der UseCapture -Parameter von AddEventListener auf true festgelegt wird. 2. Ereignisblase ist das Standardverhalten, Uscapture ist auf false oder weggelassen. 3. Die Ereignisausbreitung kann verwendet werden, um die Ereignisausbreitung zu verhindern. 4. Event Bubbling unterstützt die Ereignisdelegation, um die Effizienz der dynamischen Inhaltsverarbeitung zu verbessern. 5. Capture kann verwendet werden, um Ereignisse im Voraus abzufangen, wie z. B. Protokollierung oder Fehlerverarbeitung. Das Verst?ndnis dieser beiden Phasen hilft dabei, das Timing und die Reaktion von JavaScript auf Benutzeroperationen genau zu steuern.

Java und JavaScript sind verschiedene Programmiersprachen. 1.Java ist eine statisch typisierte und kompilierte Sprache, die für Unternehmensanwendungen und gro?e Systeme geeignet ist. 2. JavaScript ist ein dynamischer Typ und eine interpretierte Sprache, die haupts?chlich für die Webinteraktion und die Front-End-Entwicklung verwendet wird.
