VueJS - Rendering

Hallo da, zukünftiger Vue.js-Superstar! Ich freue mich sehr, Ihr Guide auf dieser aufregenden Reise in die Welt der Vue.js-Rendering zu sein. Als jemand, der seit Jahren Programmieren unterrichtet, kann ich Ihnen versichern, dass das Beherrschen von Rendering wie das Lernen zu malen ist – es ist, wie wir unsere digitalen Leinwände zum Leben erwecken! Also, rollen wir die Ärmel hoch und tauchen ein!

VueJS - Rendering

Bedingtes Rendering

Stellen Sie sich vor, Sie sind ein Zauberer und Sie möchten, dass Dinge mit einer Handbewegung auf Ihrer Webseite erscheinen oder verschwinden. Genau das ermöglicht Ihnen das bedingte Rendering in Vue.js! Es geht darum, Elemente basierend auf bestimmten Bedingungen anzuzeigen oder zu verstecken.

v-if Direktive

Die v-if Direktive ist unser erster Trick im Ärmel. Es ist wie ein Türsteher in einem Club, der entscheidet, wer hereinkommt und wer nicht.

<div id="app">
<h1 v-if="isVisible">Now you see me!</h1>
</div>

<script>
new Vue({
el: '#app',
data: {
isVisible: true
}
})
</script>

In diesem Beispiel wird das <h1> Element nur angezeigt, wenn isVisible true ist. Wenn es false ist, puf! Das Element verschwindet完全 aus dem DOM. Es ist nicht nur versteckt – es ist weg, als wäre es nie existiert!

v-else und v-else-if Direktiven

Nun fügen wir mit v-else und v-else-if ein bisschen mehr Magie zu unserem Show hinzu:

<div id="app">
<div v-if="temperature < 0">It's freezing!</div>
<div v-else-if="temperature < 20">It's cool.</div>
<div v-else">It's warm!</div>
</div>

<script>
new Vue({
el: '#app',
data: {
temperature: 25
}
})
</script>

Hier erstellen wir eine kleine Wettervorhersage. Abhängig des temperature Wertes erscheinen verschiedene Nachrichten. Es ist, als hätten wir mehrere Falltüren auf einer Bühne – nur eine kann gleichzeitig offen sein!

v-show Direktive

Manchmal möchten wir ein bisschen heimlicher sein. Hier kommt v-show ins Spiel:

<div id="app">
<h1 v-show="isVisible">I'm always here, just sometimes invisible!</h1>
</div>

<script>
new Vue({
el: '#app',
data: {
isVisible: true
}
})
</script>

Im Gegensatz zu v-if entfernt v-show das Element nicht aus dem DOM. Es blendet es nur mit CSS aus. Denken Sie daran als ob Sie ein Unsichtbarkeitsmantel über Ihr Element werfen, anstatt es vollständig verschwinden zu lassen.

Listen Rendering

Nun, da wir das Erscheinen und Verschwinden von Dingen beherrschen, lernen wir, wie man aus einem einzigen Template mehrere Elemente erstellt. Hier kommt die Listenrenderung ins Spiel!

v-for Direktive

Die v-for Direktive ist wie ein magischer Kopierer. Sie nimmt ein Template und dupliziert es für jedes Element in einem Array oder Objekt.

<div id="app">
<ul>
<li v-for="fruit in fruits">{{ fruit }}</li>
</ul>
</div>

<script>
new Vue({
el: '#app',
data: {
fruits: ['Apple', 'Banana', 'Cherry', 'Date']
}
})
</script>

In diesem Beispiel erstellen wir eine Einkaufsliste von Früchten. Die v-for Direktive geht durch jede Frucht in unserem fruits Array und erstellt ein neues <li> Element für sie. Es ist, als hätte man ein Team von kleinen Elfen, die jeweils den Namen einer Frucht auf ein neues Stück Papier schreiben!

v-for mit einem Objekt

v-for funktioniert nicht nur mit Arrays – es funktioniert auch mit Objekten!

<div id="app">
<ul>
<li v-for="(value, key) in person">{{ key }}: {{ value }}</li>
</ul>
</div>

<script>
new Vue({
el: '#app',
data: {
person: {
name: 'Alice',
age: 28,
job: 'Developer'
}
}
})
</script>

Hier显示一个人的信息。 Die v-for Direktive geht durch jede Eigenschaft des person Objekts und erstellt ein neues <li> für jedes Schlüssel-Wert-Paar.

v-for mit einem Bereich

Möchten Sie eine bestimmte Anzahl von Elementen erstellen? v-for kann das auch!

<div id="app">
<span v-for="n in 5">{{ n }} </span>
</div>

Dies wird die Zahlen 1 bis 5 anzeigen. Es ist, als ob Sie Vue bitten, für Sie zu zählen!

Key Attribut

Bei der Verwendung von v-for ist es wichtig, jedem gerenderten Element einen eindeutigen key zu geben. Dies hilft Vue dabei, zu verfolgen, welche Elemente geändert, hinzugefügt oder entfernt wurden.

<div id="app">
<ul>
<li v-for="fruit in fruits" :key="fruit.id">
{{ fruit.name }}
</li>
</ul>
</div>

<script>
new Vue({
el: '#app',
data: {
fruits: [
{ id: 1, name: 'Apple' },
{ id: 2, name: 'Banana' },
{ id: 3, name: 'Cherry' }
]
}
})
</script>

Denken Sie daran, der key als Namensschild für jedes Element. Es hilft Vue, wer ist wer zu identifizieren, wenn die Liste sich ändert.

Methoden Tabelle

Hier ist eine praktische Tabelle, die die Methoden zusammenfasst, die wir gelernt haben:

Direktive Zweck Beispiel
v-if Bedingtes Rendering eines Elements <div v-if="isVisible">Hello</div>
v-else Alternative, wenn v-if falsch ist <div v-else>Goodbye</div>
v-else-if Zusätzliche Bedingungen <div v-else-if="isSpecial">Special</div>
v-show Umschalten der Sichtbarkeit eines Elements <div v-show="isVisible">Always in DOM</div>
v-for Rendering einer Liste von Elementen <li v-for="item in items">{{ item }}</li>

Und das war's, meine neugierigen Schüler! Wir haben die Grundlagen des Renderings in Vue.js behandelt. Denken Sie daran, Übung macht den Meister,also experimentieren Sie nicht mit diesen Konzepten. Bald werden Sie Vue.js-Komponenten wie ein Profi rendern, dynamische und interaktive Webseiten erstellen, die Ihre Benutzer begeistern werden. Weiter codieren, weiter lernen und vor allem weiter Spaß haben!

Credits: Image by storyset