Sie sind hier
E-Book

Vue.js kurz & gut

AutorLars Peterke
VerlagO'Reilly Verlag
Erscheinungsjahr2019
Seitenanzahl216 Seiten
ISBN9783960102472
FormatePUB
KopierschutzWasserzeichen
GerätePC/MAC/eReader/Tablet
Preis14,90 EUR
Das Open-Source-Projekt Vue.js hat sich zu einem der populärsten JavaScript-Frameworks für das Erstellen von Benutzeroberflächen entwickelt. Der Kern von Vue.js konzentriert sich auf den View-Layer einer Webanwendung und ist daher besonders performant und schlank. Durch zahlreiche Erweiterungen kann Vue.js aber auch als vollumfängliches Web Application Framework für die Entwicklung komplexer Single-Page-Anwendungen genutzt werden. Mit diesem Buch erhalten Entwickler schnell einen Überblick über den Funktionsumfang von Vue.js. Es behandelt unter anderem die Grundlagen von Vue.js, Vue Components sowie alle Aspekte der Vue-API. Das Taschenbuch deckt kompakt viele Themen ab, die für Entwickler relevant sind, wie die Umsetzung komplexerer Vue-Projekte mit Vue CLI, Single File Components und Übergangseffekte. Hinweise zu zusätzlichen Tools, Paketen und Ressourcen sowie Lösungsansätze für gängige Probleme und Szenarien unterstützen bei der täglichen Entwicklungsarbeit mit Vue.js.

Lars Peterke ist hauptberuflicher Software-Entwickler aus Bremen. Bei der Arbeit konzentriert er sich auf die Fullstack-Entwicklung von Webapplikationen, privat beschäftigt er sich mit Journalismus im Gaming-Sektor und anderen Dingen, die er unter lpeterke.de dokumentiert.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

KAPITEL 5


Klassen und Styles verknüpfen


Mindestens genauso wichtig wie das Rendering von Daten in einem Template ist die dynamische Anpassung von Klassen oder Styles für ein HTML-Element basierend auf den Daten der Vue-Instanz. Da es sich bei class und style um herkömmliche HTML-Attribute handelt, kann mit v-bind eine Verknüpfung mit den Daten realisiert und so etwa ein String mit Klassennamen erzeugt werden.

Damit das nicht zu mühselig wird, bietet Vue für diese zwei Attribute einige Zusatzfunktionen an, mit denen auch Arrays oder ganze Objekte innerhalb von v-bind ausgewertet werden können, um die Klassen oder Styles für ein HTML-Element zu rendern.

CSS-Klassen verknüpfen


Vue stellt verschiedene syntaktische Varianten bereit, um CSS-Klassen basierend auf den Daten der Vue-Instanz an ein Element zu knüpfen.

Objektsyntax

Es kann ein Objekt an v-bind:class übergeben werden, um dynamisch zwischen verschiedenen Klassen zu wechseln:

<div id="app">

<div v-bind:class="{ active: isActive }"></div>

</div>

var vm = new Vue({

el: '#app',

data: {

isActive: true

}

})

Mit diesem Beispiel wird die Anwesenheit der CSS-Klasse active vom Ergebnis der booleschen Prüfung des Datenattributs isActive abhängig gemacht. Ist isActive also true, wird die CSS-Klasse active in das Attribut class an das HTML-Element angefügt. Dieses Beispiel lässt sich beliebig erweitern, indem einfach weitere Attribute an das Objekt angefügt werden:

<div id="app">

<div class="static"

v-bind:class="{ active: isActive,

'text-danger': hasError }">

</div>

</div>

var vm = new Vue({

el: '#app',

data: {

isActive: true,

hasError: false

}

})

Das erzeugte HTML-Markup des Templates sähe wie folgt aus:

<div class="static active"></div>

Wie dieses Beispiel zeigt, kann v-bind:class auch ohne Probleme in Kombination mit einem normalen class-Attribut verwendet werden. Vue führt beim Rendern des Templates einfach beide Attribute zusammen. Sobald sich nun der Wert der Datenattribute isActive oder hasError ändert, wird Vue auch das Template aktualisieren.

Das Klassenobjekt muss übrigens nicht zwingend als Ausdruck unter v-bind:class deklariert werden. Stattdessen kann auch einfach ein Objekt aus dem Datenobjekt der Vue-Instanz übergeben werden:

<div id="app">

<div v-bind:class="classObject"></div>

</div>

var vm = new Vue({

el: '#app',

data: {

classObject: {

active: true,

'text-danger': false

}

}

})

Anstelle eines Datenobjekts lässt sich ebenfalls eine Computed Property verwenden:

<div id="app">

<div v-bind:class="classObject"></div>

</div>

var vm = new Vue({

el: '#app',

data: {

isActive: true,

errorType: 'fatal'

},

computed: {

classObject: function() {

return {

active: this.isActive,

'text-danger': this.errorType === 'fatal'

}

}

}

})

Array-Syntax

Auch Arrays können an v-bind:class übergeben werden:

<div id="app">

<div v-bind:class="[actClass, errClass]"></div>

</div>

var vm = new Vue({

el: '#app',

data: {

actClass: 'active',

errClass: 'text-danger'

})

Dieses Beispiel erzeugt die folgende Ausgabe:

<div class="active text-danger"></div>

Soll eine Klasse des Arrays je nach Zustand der Daten ausgetauscht werden, kann dies über einen ternären Ausdruck (If-Shorthand) erreicht werden:

<div v-bind:class="[isActive ? activeClass : '', errorClass]">

</div>

Hier wird die Klasse errorClass immer ausgegeben. activeClass erscheint nur, wenn isActive den Wert true zurückliefert. Falls mehrere ternäre Ausdrücke verwendet werden, kann es jedoch schnell unübersichtlich werden. Daher lassen sich auch Objekte innerhalb von Arrays nutzen:

<div v-bind:class="[{ active: isActive }, errorClass]"></div>

Mit Components

Benutzt man das Attribut class bei einer Vue-Component, werden die CSS-Klassen an das Root-Element der Component angefügt. Dabei werden bereits bestehende CSS-Klassen nicht überschrieben. Auch wenn Vue-Components bislang noch nicht besprochen wurden, sei an dieser Stelle kurz eine sehr simple Vue-Component deklariert:

Vue.component('my-list', {

template: '<p class="foo bar">My List</p>'

})

Soll diese Component nun mit zusätzlichen CSS-Klassen genutzt werden, fügt man sie an anderer Stelle wie folgt in das HTML ein:

<my-list class="baz boo"></my-list>

Das von der Component erzeugte HTML lautet dann:

<p class="foo bar baz boo">My List</p>

Natürlich kann dieser Ansatz auch mit v-bind kombiniert werden:

<my-list v-bind:class="{ open: isOpen }"></my-list>

Dieses Beispiel würde das folgende HTML erzeugen, sofern das Datenattribut isOpen den Wert true zurückliefert:

<p class="foo bar open">My List</p>

Styles verknüpfen


Bei der Verknüpfung von Styles kümmert sich Vue automatisch um nötige Präfixe für bestimmte CSS-Eigenschaften wie transform und fügt je nach Browser Präfixe wie -webkit- oder -moz- selbstständig an.

Objektsyntax

Auch bei der Verknüpfung von Styles kann ein JavaScript-Objekt übergeben werden:

<div id="app">

<div v-bind:style="{ color: activeColor }"></div>

</div>

var vm = new Vue({

el: '#app',

data: {

activeColor: 'red',

})

Attribute können in Camel Case oder Kebab Case mit Hochkommata geschrieben werden. Aus font-size wird somit also entweder fontSize oder 'font-size':

v-bind:style="{ fontSize: titleSize + 'px' }"

Um das Template übersichtlich zu halten, ist es sinnvoll, ein Objekt (oder eine Computed Property) an v-bind:style zu übergeben:

<div id="app">

<div v-bind:style="styleObject"></div>

</div>

var vm = new Vue({

el:...

Blick ins Buch

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Bibel für heute

Bibel für heute

BIBEL FÜR HEUTE ist die Bibellese für alle, die die tägliche Routine durchbrechen wollen: Um sich intensiver mit einem Bibeltext zu beschäftigen. Um beim Bibel lesen Einblicke in Gottes ...

BIELEFELD GEHT AUS

BIELEFELD GEHT AUS

Freizeit- und Gastronomieführer mit umfangreichem Serviceteil, mehr als 700 Tipps und Adressen für Tag- und Nachtschwärmer Bielefeld genießen Westfälisch und weltoffen – das zeichnet nicht ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

Gastronomie Report

Gastronomie Report

News & Infos für die Gastronomie: Tipps, Trends und Ideen, Produkte aus aller Welt, Innovative Konzepte, Küchentechnik der Zukunft, Service mit Zusatznutzen und vieles mehr. Frech, offensiv, ...

DSD Der Sicherheitsdienst

DSD Der Sicherheitsdienst

Der "DSD – Der Sicherheitsdienst" ist das Magazin der Sicherheitswirtschaft. Es erscheint viermal jährlich und mit einer Auflage von 11.000 Exemplaren. Der DSD informiert über aktuelle Themen ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...

Eishockey NEWS

Eishockey NEWS

Eishockey NEWS bringt alles über die DEL, die DEL2, die Oberliga sowie die Regionalligen und Informationen über die NHL. Dazu ausführliche Statistiken, Hintergrundberichte, Personalities ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...