Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung der dynamischen Bindungsklasse von Vue.j

Detaillierte Erläuterung der dynamischen Bindungsklasse von Vue.j

高洛峰
Freigeben: 2017-01-12 13:24:52
Original
1041 Leute haben es durchsucht

Der Kern von Vue.js ist ein reaktives Datenbindungssystem, das es uns ermöglicht, das DOM mithilfe einer speziellen Syntax in gewöhnlichen HTML-Vorlagen an die zugrunde liegenden Daten zu „binden“. Das gebundene DOM wird mit den Daten synchron gehalten und bei jeder Datenänderung wird die entsprechende DOM-Ansicht aktualisiert. Basierend auf dieser Funktion wird das dynamische Binden von Klassen über vue.js sehr einfach.

1. Datenbindungsanweisungen

Vue-Anweisungen sind mit dem Präfix v-bind: Attributname gekennzeichnet, abgekürzt als: Attributname:

<a v-bind:href="http://www.cnblogs.com/">博客园首页</a>
简写:
<a :href="http://www.cnblogs.com/">博客园首页</a>
Nach dem Login kopieren

2. Das Standardtrennzeichen für die dynamische Bindungsklasse

vue ist {{ }}. Die Zeichenfolge im Trennzeichen wird als Datenvariable betrachtet und kann über class = übergeben werden Die Methode „{{ className }}“ wird zum Festlegen der Klasse verwendet, Vue empfiehlt jedoch nicht, diese Methode mit der Methode v-bind:class zu kombinieren. Sie können nur eine der beiden auswählen. Obwohl v-bind:class nicht mit der Methode zum Binden von Variablen im Klassenattribut koexistieren kann, kann es mit der nativen Klassenfunktion koexistieren. Die native Klasse und v-bind:class dürfen gleichzeitig in einem DOM-Tag erscheinen.

2.1 v-bind:class unterstützt den String-Typ. Es wird nicht empfohlen, ihn zu verwenden, da der String-Wert fest ist und die Klasse nicht dynamisch geändert werden kann :class unterstützt Datenvariablen. Wenn sich der Variablenwert ändert, wird die Klasse gleichzeitig aktualisiert. Der Wert der v-bind:class-Direktive ist auf einen Bindungsausdruck beschränkt, z. B. den Javascript-Ausdruck

HTML代码:
<div :class=" &#39;classA classB&#39; ">Demo1</div>
渲染后的HTML:
<div class="classA classB">Demo1</div>
Nach dem Login kopieren

. Der in der Direktive geschriebene Wert wird als Ausdruck betrachtet, z. B. als Javascript-Ausdruck , also akzeptiert v-bind:class ternäre Operationen:

HTML代码:
<div :class="classA">Demo2</div>
Javascript代码:
data: {
 classA: &#39;class-a&#39; //当classA改变时将更新class
}
渲染后的HTML:
<div class="class-a">Demo2</div>
Nach dem Login kopieren

2.3 v-bind:class unterstützt Objekte und wird dynamisch aktualisiert, wenn sich die Objektklasse ändert

HTML代码:
<div :class="classA ? &#39;class-a&#39; : &#39;class-b&#39; ">Demo3</div>
渲染后的HTML:
<div class="class-a">Demo3</div>
Nach dem Login kopieren

2.4: v-bind: Die Klasse unterstützt Arrays, wenn sich die Variablen im Array ändern.
HTML代码:
<div :class="{ &#39;class-a&#39;: isA, &#39;class-b&#39;: isB}">Demo4</div>
Javascript代码:
data: {
 isA: false, //当isA改变时,将更新class
 isB: true //当isB改变时,将更新class
}
渲染后的HTML:
<div class="class-b">Demo4</div>
Nach dem Login kopieren
HTML代码:
<div :class="objectClass">Demo5</div>
Javascript代码:
data: {
 objectClass: {
 class-a: true,
 class-b: false
 }
}
渲染后的HTML:
<div class="class-a">Demo5</div>
Nach dem Login kopieren

Das Array kann Objekttypen im Array enthalten Änderungen, die Klassenliste wird ebenfalls aktualisiert

HTML代码:
<div :class="[classA, classB]">Demo6</div>
Javascript代码:
data: {
 classA: &#39;class-a&#39;,
 classB: &#39;class-b&#39;
}
渲染后的HTML:
<div class="class-a class-b">Demo6</div>
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe auch, dass der Inhalt dieses Artikels zum Lernen oder Arbeiten beitragen kann Es wird mehr chinesische PHP-Websites geben!

HTML代码:
<div :class="[classA, classB]">Demo7</div>
Javascript代码:
data: {
 classA: &#39;class-a&#39;,
 objectClass: {
 classB: &#39;class-b&#39;, // classB 的值为class-b, 则将classB的值添加到class列表
 classC: false, // classC值为false,将不添加classC
 classD: true // classD 值为true,classC将被直接添加到class列表
}
}
渲染后的HTML:
<div class="class-a class-b classD">Demo7</div>
Nach dem Login kopieren
Ausführlichere Erläuterungen zu den Artikeln zu dynamischen Bindungsklassen von Vue.j finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage