Heim > Web-Frontend > js-Tutorial > Hauptteil

Bindungsstil und Klassenliste der vue.js-Lernnotizen

高洛峰
Freigeben: 2017-01-12 13:14:46
Original
1301 Leute haben es durchsucht

Eine häufige Anforderung für die Datenbindung ist die Manipulation der Klassenliste eines Elements und seiner Inline-Stile. Da es sich bei allen um Attribute handelt, können wir sie mit v-bind verarbeiten: Wir müssen lediglich die endgültige Zeichenfolge des Ausdrucks auswerten. Die Verkettung von Zeichenfolgen ist jedoch umständlich und fehleranfällig. Daher verbessert Vue.js v-bind speziell, wenn es mit Klassen und Stilen verwendet wird. Der Ergebnistyp eines Ausdrucks kann neben Strings auch ein Objekt oder ein Array sein.

1. Binden Sie das Klassenattribut.

Binden Sie Daten mit dem Befehl v-bind:, abgekürzt als:

Syntax:

. Die doppelten Anführungszeichen nach der Klasse akzeptieren ein Objektliteral/eine Objektreferenz/ein Array als Parameter.

Hier ist {active: isActive} der Objektparameter, active der Klassenname und isActive ein boolescher Wert. Hier ist ein Beispiel:

Objektliteral binden

html:

<div id="classBind">
<span :class="{warning:isWarning,safe:isSafe}" v-on:click="toggle">
状态:{{alert}}{{isSafe}}
</span>
</div>
//js
var app11=new Vue({
el:&#39;#classBind&#39;,
data:{
isWarning:true,
alertList:[&#39;红色警报&#39;,&#39;警报解除&#39;],
alert:&#39;&#39;
},
computed:{
isSafe:function(){
return !this.isWarning;
}
},
methods:{
toggle:function(){
this.isWarning=!this.isWarning;
this.alert= this.isWarning?this.alertList[0]:this.alertList[1];
}
}
});
Nach dem Login kopieren

css:

.warning{
color:#f24;
}
.safe{
color:#42b983;
}
Nach dem Login kopieren

Beim Anklicken Status Beim Schreiben Text, Sie können den folgenden Text und die folgende Farbe ändern

//Status: Alarm gelöscht, wahr

//Status: Roter Alarm, falsch

Gebundene Objektreferenz

Das hier gebundene Objekt kann in die Daten der Vue-Instanz geschrieben werden, und in class="classObj" ist die Klasse in doppelten Anführungszeichen ein Verweis auf das classObj-Objekt in der Vue-Instanz. classObj kann in Daten platziert oder berechnet werden. Wenn es in berechnet ist, muss die Funktion, die classObj entspricht, ein Objekt wie folgt zurückgeben:

js:

var app11=new Vue({
el:&#39;#classBind&#39;,
data:{
isWarning:true,
alertList:[&#39;红色警报&#39;,&#39;警报解除&#39;],
alert:&#39;&#39;
},
computed: {
isSafe: function () {
return !this.isWarning;
},
classObj:function(){
return {
warning: this.isWarning,
safe:this.isSafe
}
}
},
methods:{
toggle:function(){
this.isWarning=!this.isWarning;
this.alert= this.isWarning?this.alertList[0]:this.alertList[1];
}
}
});
Nach dem Login kopieren

Binding array

html:

<div v-bind:class="classArray" @click="removeClass()">去掉class</div>
Nach dem Login kopieren

js

data: {
classArray:["big",&#39;red&#39;]
}
methods:{
removeClass:function(){
  this.classArray.pop();
}
}
Nach dem Login kopieren

css:

.big{
font-size:2rem;
}
.red{
color:red;
}
Nach dem Login kopieren

Effekt: Klicken Sie, um die Klasse zu entfernen. Die Funktion „removeClass“ wird aufgerufen, um das letzte Element des classArray-Arrays zu entfernen. Entfernen Sie zum ersten Mal „Rot“ und die Schriftfarbe ändert sich von Rot zu Schwarz. Klicken Sie erneut, „Entfernen“. „groß“ und die Schrift wird kleiner.

2. Bindungs-Inline-Stil

Im Moment schaue ich mir die Vue-API-Dokumentation neben dieser Seite an und verkaufe sie hier. Es fühlt sich so cool an, o( ^▽^ )o

html

<div id="styleBind">
<span :style="{color:theColor,fontSize:theSize+&#39;px&#39;}" @click="bigger">styleBind</span>
</div>
Nach dem Login kopieren

css

Hierfür ist kein CSS erforderlich. . .

js

var app12=new Vue({
el:&#39;#styleBind&#39;,
data:{
theColor:&#39;red&#39;,
theSize:14
},
methods:{
bigger:function(){
this.theSize+=2;
}
}
});
Nach dem Login kopieren

Zusätzlich zur Übergabe von Objektliteralen können Sie auch Objektreferenzen und Arrays an V-bind:style übergeben

Das Obige ist der vom Herausgeber eingeführte Bindungsstil und die Klasse der vue.js-Studiennotizen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere Studiennotizen zu vue.js, Bindungsstilstile und Artikel zu Klassenlisten 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