Skip to content

Latest commit

 

History

History
222 lines (142 loc) · 6 KB

vue-js.md

File metadata and controls

222 lines (142 loc) · 6 KB

Vue.js

Open Source Project

progressiv --> es kann direkt genutzt werden ohne tooling und es kann komplette interfaces aufbauen

reaktiv --> es reagiert auf Veränderungen, weil es einen virtuellen DOM benutzt Vue ist reaktiv und das bedeutet, dass es automatisch auf Änderungen reagiert. Wenn wir bspw. ein Array darstellen und verändern dieses, wird es automatisch angeplasst

component driven development. Probleme in kleinere Einheiten zerlegen.

wir lernen vue3

Include

im Script src ="https://unpkg.com/vue@next"

Abfrage ob es funktioniert. vue.version

Vue Instance ist der Ort wo man den Vue Code schreibt instance ist immer Kopie einer Vorlage. das Vue Framework ist diesmal unsere Vorlage

Jede Instance braucht Erweiterungen in Vue. --> Application instance ist der modernere Name für vue instance.

Options API

Data DOM Lifecycle Hooks Assets Composition Miscellaneous

Options API sagt mir wie die BEgrifflichkeiten lauten und wie ich vue benutzen muss.

Verbindung um Dom herstellen. ein Element wird erstellt mit der ID: APP
verbindung zum DOM ID App

Vue instanzen erzeugen Vue instanzen mit dem DOM verbinden Dann Prüfung. data-v-app sonst in der Dev Tool.

data properties local storage

fast alle direktiven in vue fangen mit v- an.

templates

man kann in templates bspw verschiedene APIs auf gleiche weise darstellen. Daten kommen rein und werden in das Template gepackt

{{ }} Achtung: HTML Tags darin werden als Klartext angegeben. GEfahr: Cross Site Scripting

directives

vue directives sind Attribute in HTML. immer: v-"...", daher: `v-text="'Hello World'";

v-on:click bei (klick) passiert etwas.

eigene directiven erstellen. Hier die directive highlight: darin steht wann das ganze ausgeführt wird. in diesem Fall bei mount.
eigene directive erstellen

v-text: stellt Text dar. Vereinfacht Verbindung zu JS v-html: kann html text annehmen v-once: rendert nur einmal v-pre: Text wird nur noch dargestellt. auch {{ }} v-bind: v-model: 2 way data binding. Bspw checkbox an etwas binden

Attribute Binding

Data properties auf HTML Elemente binden

Wichtig Mustach geht nicht. Das geht nicht für Attribute

v-bind:class="bgcolor" v-bind:src="src

v-bind merged, also verbindet verschiedenen
v-bind

Shortcut

v-bind:class="..." --> :class="..."

wenn man in einem String code einbauen will. keine ' ,sondern '`'

'"das ist der String ${stringName}"' in Edit anschauen

special Attribute: :key :ref :is

:id="dieserNameWirdGeholtAusJS"

class and style binding

class bindung

v-bind:class= man kann im Array mehrere CSS Klassen hintereinander schreiben. Vue rendert das zu einem String


![vue classes](https://user-images.githubusercontent.com/104325830/177728186-98ef8b5a-f280-455c-8202-e2eb7c2c9e20.JPG)

style binding mit object syntax:
style attribute cue

conditional class rendering: man kann auch eine CSS Klasse wie folgt benennen. Man greift über Vue auf ein Objekt zu, welches in CSS ist. Der Key des Objektes ist die CSS Klasse und wenn der Wert ein Boolean ist kann man diese Klasse mit true oder false ein oder ausschalten
conditional class vue

class binding vue.js :class

Vue if

wichtig die in diesem Fall div's müssen aufeinander folgen
vue if

alternativ um etwas auszublenden
v-show

List rendering

v-bind:key :key attribute

v-for gilt für for of und for in
v-for
ich habe so viele li wie einträge im array

wenn ich eine for Schleife auf einem DIV container mache habe ich danach 10 DIVs gebraucht wird ein v-bind:key Attribut.

wenn man mit v-for über ein Objekt iteriert, dann wird immer zuerst der value und dann der key angegeben.

wenn man sich das dritte Argument dahinter eingibt index kann auch anders benannt werden --> dann werden alle Schleifen nummeriert.
index v-for

v-if und v-for nicht zusammen benutzen!!!! alternativ:
v-if und v-for
live session for in vue

computed properties and Methods

computed properties bringen performance Vorteile computed
computed
outsource condition

computed properties nochmal anschauen.

Methods: wird angewendet wenn eine computed property zu komplex wird


![methods and custom properties](https://user-images.githubusercontent.com/104325830/177982400-16fbebe4-3040-4696-b9e4-187d89e5b9c6.JPG)

data properties sind innerhalb vue instanz mit this referenziert

v-bind nochmal anschauen

Keywords

computed


`methods` --> werden viel in Kombination mit Events genutzt
![method vue](https://user-images.githubusercontent.com/104325830/178231118-299443c3-2da0-4391-8830-fc9fd1eb03db.JPG)