Zusammenfassung verschiedener Methoden für Vue zum Erreichen dynamischer Stile

Zusammenfassung verschiedener Methoden für Vue zum Erreichen dynamischer Stile

1. Ternäres Operatorurteil

<text :style="{color:state?'#ff9933':'#ff0000'}">Hallo Welt </text>
<Skript>
Standard exportieren {
	Daten() {
		zurückkehren {
			Status: wahr
		}
	}
}
</Skript>

2. Klasse dynamisch festlegen

2.1 Hauptsächlich verwendet für: Beim Klicken in eine Loop-Liste wird das entsprechende Element hervorgehoben; (das erste Element ist standardmäßig hervorgehoben)

<Vorlage>
	<div class="wrapper" v-for="(item,index) in houseList" :key="index" @click="rightTap(index)">
		<div Klasse="Haustitel" :Klasse="{'aktiv' : index === rechterIndex}">
			{{item.name}}
		</div>
	</div>
</Vorlage>
<Skript>
Standard exportieren {
	Daten() {
		zurückkehren {
			rechterIndex:0,
			Hausliste:[]
		};
	},
	Methoden:{
		rechterTap(index){ 
			dies.rightIndex = index
		}
	}
}
</Skript>
<style lang="scss" scoped>
.Verpackung{
	Breite: 118px;
	Höhe: 60px;
	Rand: 6px auto 0 auto;
	.Haustitel{
		Schriftgröße: 22px;
		Textausrichtung: zentriert;
		Leerzeichen: Nowrap;
		Überlauf: versteckt;
		Textüberlauf: Auslassungspunkte;
	}
	.aktiv{
		Farbe: #2a7ffa;
		 Hintergrundfarbe: rosa;
	}
}
</Stil>

2.2 Hauptsächlich verwendet für: Festlegen entsprechender Stile für bestimmte Werte;

  <div 
    :Klasse="activeId === item.id?'activeStyle':'machineBar'" 
    v-for="(Element, Index) in Liste" :Schlüssel="Index" @click="KlickEreignis">    
      <p>{{item.name}}</p>    
  </div>

3. Methodenbeurteilung

3.1 Hauptsächlich verwendet für: Festlegen entsprechender Stile für verschiedene Datenwerte;

<Vorlage>
  <div v-for="(Artikel,Index) in Hausliste" :Schlüssel="Index">             
     <div :style="getStyle(item.status)">{{item.name}}</div>    
  </div> 
</Vorlage>
<Skript>
Standard exportieren { 
  Daten(){
    zurückkehren {
	  Hausliste:[
        { 
          Ich würde: 1,
          Name:1,
          Status: „a“
        },{
          Ich würde: 2,
          Name: 2,
          Status: „b“
        },{
          Ich würde: 3,
          Name: 3,
          Status: „c“
        }
      ]
    }
  },
  Methoden:{
    getStyle(e){        
      console.log('Wert',e)        
      wenn(e === 'a'){            
        zurückkehren {                
          Breite: '60px',
          Höhe: '60px',                
          Hintergrund: 'gelb',                 
          Rand: „10px automatisch“             
        }        
      }sonst wenn(e === 'b'){            
        zurückkehren {                
          Breite: '60px',
          Höhe: '60px',                  
          Hintergrund: 'rot',                 
          Rand: „10px automatisch“            
        }        
      }sonst wenn(e === 'c'){            
        zurückkehren {                
          Breite: '60px',
          Höhe: '60px',                 
          Hintergrund: „pink“,                 
          Rand: „10px automatisch“             
        }        
      }
    }
  }
}
</Skript>

3.2 Wird hauptsächlich verwendet für: Anzeige entsprechender Stile bei Ereignissen mit mehreren Elementen;

<Vorlage>
  <div 
      Klasse = "homeWrap": Klasse = "{'select': ausgewählt === 1,'click': angeklickt === 1}" 
      @click="handleClick(1)" @mousedown="MenüBeiAuswahl(1)">
     Startseite   
</Vorlage>
<Skript>
Standard exportieren {
  zurückkehren {
      ausgewählt: 0,
      geklickt: 0
  }
  Methoden:{
    menuOnSelect(Wert){
      this.selected = Wert;
    },
    handleClick(Wert){
      Dies ausgewählt = 0
      this.clicked = Wert
    }
  }
 }
</Skript>
<style lang="Stylus" scoped>
  .homeWrap.Auswählen 
    Hintergrund rot
  .homeWrap.klick 
    Hintergrund gelb
</Stil>

4. Array-Bindung

<div :class="[istActive,istSort]"></div>
// Kombinieren Sie das Array mit dem ternären Operator, um die erforderliche Klasse zu bestimmen
<div Klasse="Artikel" :Klasse="[Artikel.name? 'lg':'sm']"></div>
<div Klasse="Artikel" :Klasse="[Artikel.Alter<18? 'gray':'']"></div>
// Array-Objekt kombiniert mit <div :class="[{ active: isActive }, 'sort']"></div>

Daten() {
  zurückkehren {
    isActive:'aktiv',
    isSort:'sortieren'
 }
}
// CSS
.aktiv{
    /*Schreiben Sie hier den ersten Stil, den Sie festlegen müssen*/
  } 
.Sortieren{
    /*Schreiben Sie hier den zweiten Stil, der festgelegt werden muss*/
  }

5. Berechnete Eigenschaftsnamenmethode kombiniert mit es6-Objekt

 <div :Klasse="Klassenobjekt"></div>
 
  Standard exportieren {
    Daten(){
      zurückkehren {
        istAktiv:true
      }
    },
    berechnet:{
      Klassenobjekt() {
        zurückkehren {
          Klasse_a:dies.istAktiv,
          class_b:!dies.istAktiv
        // Dies muss entsprechend der Situation Ihres eigenen Projekts geändert und ausgefüllt werden}
      }
    }
  }
 
// CSS
.Klasse_a{
    /*Schreiben Sie hier den ersten Stil, den Sie festlegen müssen*/
}
 
.klasse_b{
   /*Schreiben Sie hier den zweiten Stil, der festgelegt werden muss*/
 }

Oben finden Sie detaillierte Informationen zu den verschiedenen Methoden von Vue zum Erreichen dynamischer Stile. Weitere Informationen zum Erreichen dynamischer Stile mit Vue finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Methodencodes zum dynamischen Binden von Klasse und Stil in Vue
  • Zusammenfassung der Implementierung dynamischer Bindungen im Vue.js-Stil
  • Vue implementiert bedingte Beurteilung und dynamische Bindungsstilmethode
  • So binden Sie Stile dynamisch in Vue

<<:  Linux-Fernsteuerungsprogramm für Windows-System (drei Methoden)

>>:  Ein magischer MySQL-Deadlock-Troubleshooting-Datensatz

Artikel empfehlen

Detaillierte Erklärung zum Schreiben mehrerer Bedingungen von CSS: nicht

Der Pseudoklassenselektor :not kann Elemente filt...

So lösen Sie das Problem des verstümmelten MySQL-Inserts

Problembeschreibung: Beim Einfügen chinesischer Z...

Analyse der problematischen „Aborted“-Warnung in MySQL anhand von Fallstudien

Dieser Artikel stellt hauptsächlich den relevante...

Eine kurze Diskussion darüber, ob CSS das Rendern von Seiten blockiert

Vielleicht weiß jeder, dass die JS-Ausführung die...

Mehrere Situationen, in denen Div durch Iframe abgedeckt ist, und ihre Lösungen

Ähnliche Strukturen: Code kopieren Der Code laute...

So installieren Sie MySQL unter Linux (Yum und Quellcode-Kompilierung)

Es gibt zwei Möglichkeiten, MySQL unter Linux zu ...

Vue verwendet MockJS, um simulierte Datenfalldetails zu generieren

Inhaltsverzeichnis Installieren Sie Mockjs in Ihr...

Analyse der Gründe, warum MySQL-Felddefinitionen nicht null verwenden sollten

Warum wird NULL so oft verwendet? (1) Javas Null ...

Fähigkeiten zur Erstellung von Webformularen

Tatsächlich haben die drei obigen Tabellen alle d...

Zusammenfassung der MySQL-Anweisungen

Inhaltsverzeichnis 1. Datenbank USE auswählen 2. ...

Zusammenfassung der Ausführungsprobleme zwischen MySQL Max und Where

Ausführungsproblem zwischen MySQL Max und Where S...

Nginx kompiliert nginx - neues Modul hinzufügen

1. Vorhandene Module anzeigen /usr/local/nginx/sb...