Ja, das sieht gut aus.
Hier hingehen. Also ich sage jetzt mal hallo,
also ich bin erst ganz kurz überhaupt bei dieser Gruppe dabei.
Ich war erst einmal da. Ich bin Oliver Zeigermann,
erinnere mich eigentlich Olli. Ich komme aus der Java-Welt,
also bin irgendwie jetzt hier auf dem Weg zur Java-Skript-Geschichte.
Bin total gespannt auf MBJS, was ja danach noch vorgestellt wird.
Und dass im kleinen Rahmen, ich habe,
bevor ich mit Ingolar Jazz angefangen habe,
Backbone JS ausprobiert,
habe ich nur so Mittel verstanden und habe da dieses Ingolar
gesehen und habe gedacht,
boah,
das ist ja
genau so
Wie ich das brauche. Also als hätten die das für mich gemacht. Inzwischen,
das ist jetzt irgendwie über ein halbes Jahr her,
habe ich auch ein paar kreterischere Töne, die sage ich auch am Ende.
Aber ich bin besonders gespannt, wenn wir den MBA auch noch sehen,
weil ich das auch so mir angeguckt habe und dachte,
das sieht ja auch gut aus.
Also sehen wir jetzt mal auch für mich. Zur Form,
ich brauche ungefähr eine halbe Stunde, wenn das hier alles
gut klappt und ich bastel hier mehr oder weniger vom Scratch eine kleine Anwendung.
Wenn das nicht immer so ganz hinhaut, ich meine,
so live basteln ist ja immer so eine Sache,
bin ich um Nachsicht, aber ich muss mal glaube ich den Zusammenhalt.
Okay, jetzt geht's los. Diese Seite hier ist eigentlich alles,
was man braucht, Angolar Jazz.org, da findet man alles.
Auf der Startseite findet man auch Beispiele.
Ziemlich cool gemacht, auch so dokumentationsmäßig im Tutorial-Teil.
Und alle Themen, die auf der Startseite abgedeckt sind,
werde ich auch versuchen, gleich zu behandeln.
Mehr oder weniger gut. Erstmal, was ist Engolar GS
? Also nachdem ich hier durch bin, werdet ihr das
auch wahrscheinlich sehr viel besser beantworten können als ich.
Es ist sowas wie ein Webfraywork, ein Modelview-Controller-Framework,
rein im Browser. Ja, okay. Welche Themen werde
ich behandeln bei ein Ding von Modell auf Darstellung,
die Pendency Ejection werde ich euch zeigen, Direktiven,
auch was das ist, Services und Restkreuz.
In einer halben Stunde basierend, ob ich das packe.
Okay, los geht's. Also was habe ich?
Ich habe Mini vorbereitet, das kann das jeder lesen,
auch von hinten. Wer geht nicht? Ja,
es doch größer macht, dann geht es hier,
okay, ich mache es allen größer.
Also, solange es noch reinpasst, 16 vielleicht?
Zwei User. Nee, geht nicht,
tut mir leid. Also, es ist,
muss vielleicht
Also das zumindest auch sehen können. Okay. Kannst du
mal einen Tracker reinrauchen? Aber 15 ist fast schon perfekt.
Okay, was habe ich? Bisher ist da kein Ingola
drin. Das ist einfach eine HTML-Seite. Ich habe
ein bisschen Bootstrap drin, damit es da was aussieht.
Ein paar Diffs. Die habe ich ein Formular.
Erstmal nichts Zolles. Damit das hier gut losgeht,
habe ich unten schon ein bisschen was eingebunden. Jake Querry,
das brauche ich für spezielle Sachen, erzähle ich später.
Bootstrap auf, ja, was gibt Teil,
brauche ich auch für bestimmte Sachen.
Und in Julia. Einmal das normale Engönner und dann
habe ich noch was,
um Restcalls
zu machen
Okay, dann hier noch so ein bisschen Kram und das
hier bin ich lag mit Leben führen. Erstmal, ja,
ich muss wirklich, dass du nicht in Bienen gehst.
Achso, hier steht Beamer. Ich versteh's. So wie es das.
Ja, super. Okay. Erstmal, worum geht's?
Es geht um einen Darlehenskalkulator und so sieht das hier aus.
So, das ist, so geht's los. Ich hab Tests geschrieben für das Ganze,
das heißt, man kann den finanzierenden Preis eingeben,
dann wie viel Geld man selbst hat,
dann wie die Zinsrate ist und dann am Ende,
wie lange das laufen soll.
Und hier spuckt er dann den entsprechenden Wetter aus.
Das programmiere ich jetzt nicht, weil es hat nichts mit England zu tun.
Dafür habe ich schon was programmiert und habe auch ein paar Tests,
kann ich mal laufen lassen. Mit Jazzman, wunderbar,
ich zeige euch mal die Testdefinition. Na, da. Das heißt,
ich habe hier ein paar Werte, zwar an der 1000,
würde ich haben, 10 Euro habe ich,
700% Prozent Zinsen, 30 Jahre und das kommt dabei raus.
Das heißt, ich muss jeden Monat 1400 Euro berappen und
zwar insgesamt eine halbe Bewegung zurück. Überraschend, ich habe
noch nie Geld gedient, also es ist ziemlich viel.
Okay, aber das habe ich schon und ich habe dafür auch schon die Funktionalität.
Das heißt, das habe ich hier geschrieben,
das habe ich Ist egal, ich meine, ist jetzt einfach da.
Es funktioniert auch. Okay, was will ich machen?
Ich habe mir ja so einen kleinen Zettel gemacht,
damit ich das weiß, was ich machen will.
Okay, ich will ja das hier so hinbauen,
dass es mit Leben gefüllt ist. Im Moment,
wenn ich hier auf was klicke, passiert natürlich nichts.
Warum auch? Erstmal, weil ich hier nicht genug eingefüllt
habe, das ist irgendwie schon Atem F5, okay.
Aber selbst wenn ich hier jetzt was eingebe, 7,30,
passiert nichts. Kann man sich auch vorstellen.
Warum soll da was passieren? Ist ja noch
keine Funktionalität hinterlegt
Okay, damit das Ganze jetzt oder die Kontrolle von Englisch
dargestellt wird, muss ich ja sowas hinschreiben wie Engli-App.
Das muss ich nicht oben hinschreiben, kann ich irgendwo hinschreiben.
Und ab dem Tag, wo ich NGApp hinschreibe,
steht der Rest der HTML-Seite unter Engular-Kontrolle.
Dies NG ist für eng Jula Englisch. Okay. So,
deswegen steht da NG, die haben sich so eine Abkürzung ausgedacht.
Damit kann ich jetzt tolle Sachen machen und was ich machen kann,
ist, mal gucken, was kann ich denn machen?
Ich kann jetzt meine Inputs auf Modell,
auf Modellvariablen setzen
Ich kann jetzt sagen, das, was ich hier eingebe,
der Preis des Hauses Map auf meinem Modell Variable Price.
NG Mod. By down, kann ich dasselbe sagen,
die Namen denke ich mir aus,
das kann ich machen, wie ich möchte.
Das ist mein Zinssatz, ich weiß nicht, interrest.
Wie gesagt, es sind einfach Namen für mein Modell hier.
So, das... Ja, nee, Interesse ist Quatsch, ne?
Time lustig. Und das reicht für Ingoler jetzt schon aus,
damit diese Inputfelder hier mit Modell,
dass Ingolar für mich implizit erzeugt,
verbunden sind.
Das heißt, ich kann was mit diesen Werten machen
Was mache ich mal damit? Ich gebe die vielleicht mal
aus. Und damit ich Modellwerte ausgibe, einfach so,
muss ich zwei geschweifte Klammern aufmachen, zweit zu.
Alles da drin, sind Expressions,
mit denen ich auf Modellwerte zuwerfen kann.
Zum Beispiel auf dem Price und ich mache mal price-down,
down ist die Anzahlung. Das wäre sowas wie Price-down wäre,
so viel Geld will ich haben. Brauche ich nicht.
So, jetzt wollen wir uns das mal angucken im Browser.
Mal laden.
Das hat nicht geklappt
Unglücklich. Habe ich vielleicht was vergessen? Hengy Model mit
Price und you up. Das ist jetzt gleich schon ein
bisschen doof. Ich fange an, das zu demonstrieren.
Das erste geht schon nicht. Ich bin etwas verwirrt.
Das hier mal weg, lade noch mal neu.
Ich mache mal einfach weiter und hoffe,
dass ich das irgendwie gleich hier auflöse durch irgendwelche anderen schlauen Sachen,
die ich mache.
Sieht aber eigentlich ganz gut aus. Ich muss es wirklich
an das harten Eltern
Ja. Müsste eigentlich funktionieren. Ich kann es mal an Buddy tun.
Ich meine, ich habe immer noch eine Version,
von der ich weiß, dass sie geht.
Okay. Ich zeige euch mal, oh nee,
ich mache mal einfach weiter. Wir sehen mal vielleicht,
wird sich gleich irgendwie rausstellen, warum das jetzt hier nicht geklappt hat.
Sollte eigentlich gehen. Oder ich mache mal hier unten
die Konsole auf, ob alles gut ist.
Ah. Ach, ja, je. Ich habe kein
Internet. Oh, ich voll falsche. Aspirieren braucht Fehler
. Was habt ihr irgendwie auf den Fuß geschrieben?
Und der ist klein. Und das Passwort liegt hier um
die Ecke, das heißt Bedarf am Nachher
Okay, ich bin im Nachsicht, da habe ich irgendwie...
Wie heißt das Ding? Attraktor? Und das ist kein Wort.
Bla. Ah. Und noch mal, ja. Also,
so, Blafa... Ja, also, ich würde meinen.
So, jetzt wollen wir noch mal sehen jetzt.
Ich... Mal sehen, ob der jetzt... Ah.
So, jetzt würde ich mir aber kurz den Schweiß von
euch stören.
Aber das ist wirklich live hier
So, jetzt steht da null und da steht deswegen null,
weil da auch nichts steht. Also, wenn ich hier
200.000 eingebe, seht ihr wenig Tipp. Ich hoffe,
ich stehe nicht im Bild, 200, 1,
2, 3. Wenn ich jetzt hier 10 eingebe,
verändert sich der Wert hier unten automatisch.
Das heißt, ich brauche nicht sowas wie irgendwelche Listener,
die darauf reagieren, sondern bei jedem, jeder Änderung eines Wertes.
Aktualisiert mir das Ingüder automatisch. Das finde ich schon mal
ziemlich cool. Da habe ich ja praktisch nichts gemacht,
außer Fenad anstellen. Und das Einzige,
was mich jetzt auch ganz leicht stört,
ist,
dass da
auch jetzt was anzeigt
Da steht jetzt, so viel brauche ich null,
da wo ich noch gar nichts eingegeben habe.
Deswegen möchte ich hier mal einstellen, dass er das nur zeigen soll.
Werde ich auch was eingegeben habe. Und das ist zweites Attribut aus Engular,
da sage ich ihm, zeigt bitte nur, wenn hier was drinsteht.
So. Hatte ich das mal neun? Als steht hier nichts
, weil da oben auch nichts so entsteht.
Und wenn ich jetzt anfange zu tippen, da steht da was. Das heißt,
für jemanden, der relativ schnell Ergebnisse haben möchte,
wie ich, geduldig, ist das total cool,
weil ich relativ wenig,
bisher muss ich ja nichts programmieren,
im eigenen Sinne
Ergebnisse. Das ist gut für mich. Finde ich cool
. So, und das langt natürlich aber nicht,
sondern wenn ich da draufklicke, soll ja auch noch was passieren.
Und dafür habe ich halt den Code, jetzt muss ich
das irgendwie verbinden. Und bei Angrida ist das so,
dass ich ein View habe, der View, ist das hier?
Die Darstellung, klassisch oder relativ klassisch Model View Controller, bei irgendeinem Browser.
Dann brauche ich das Modell. Das Modell habe ich implizit,
so ein bisschen, das ist so auch mein Kritikpunkt,
wo ich ein bisschen später drauf komme,
habe ich implizit eigentlich hier definiert.
Also ich sage ihm, mein Modell,
das wird irgendwo abgespeichert, ich zeige euch später, wo.
Und das sind die Modellwert. Die habe ich definiert.
Ich habe ja auch gesehen, die werden mit was besetzt,
weil ich konnte diese Expression ausführen
Und letztlich der Controller ist das, was das alles zusammenkittet.
So die Klebe dazwischen. Und den Controller, den brauche
ich auch. Und zwar brauche ich diesen Controller,
um auf Ereignisse innerhalb meiner Anwendung,
die ich durch den View getriggert werden, zu reagieren.
Okay. Und damit das Ganze ein Controller bekommt,
muss ich an irgendeine Stelle, wo mache ich mal,
sage ich mal, Deal sagen,
dass ein bestimmter Controller eine Kontrolle übernehmen soll und dem nehme ich einen Namen.
Muss ich. Ich nenne den jetzt mal Morgitsch,
Controller. Morgitsch ist eben Englisch Darlehen oder so,
meine ich
Okay, dadurch, dass ich das gemacht habe,
ist jetzt dieser Teil, dieses differe,
dieser ganze Container von da, bis er unten zu Ende ist.
Irgendwo hier unten. Das hier ist er wohl
unter Kontrolle von diesem Controller gestellt. Das heißt,
innerhalb dieses Blogs kann ich jetzt Funktionalitäten dieses Controllers benutzen.
Und das möchte ich jetzt auch. Und zwar möchte ich,
sobald ich auf, das hat Mitdrücke,
hier möchte ich das, was ausgeführt wird.
Dafür gibt es wieder in Angular, in die Click.
Und da sage ich sowas
wie,
Und ich habe jetzt diesen Modellwerte hier gespeichert und ich könnte
auch aus dem Controller direkt drauf kommen,
aber ich möchte das lieber als Parameter übergeben,
damit ich ein bisschen mehr Kontrolle habe und übergebe jetzt hier Price,
ein Modell wird, den ich oben gesetzt habe.
Daumen, für meine Anzahlung, interrest und term, gebe ich jetzt mit.
Das ist normale, oder mehr oder weniger normale JavaScriptfunktion.
Und wir haben Skriptpuppen, das passieren muss.
Und die baue ich jetzt mal von euch.
Und zwar habe ich schon eine Kleinigkeit vorbereitet.
Und zwar Habe ich hier schon was eingeboten, Sapple Up?
Was? Aha. Da ist nichts drin im Moment.
Habe ich einfach nur Lea vorbereitet. Und an dieser Stelle
kann ich jetzt eine Funktion definieren für meinen Controller.
Und die heißt so, wie ich es eben hingeschrieben habe,
habe ich natürlich schon wieder vergessen.
Morgens Controller. Was das hier ist, sage ich gleich.
Oder sage ich eigentlich jetzt
Es gibt einen speziellen Mechanismus in Engular, der heißt Dependency Injection.
Wer aus dem Java-Umfeld kommt, kennt das,
wenn nicht daherkommt, kennt es vielleicht nicht.
Und zwar ist das ein Konzept, das ein bestimmtes Framework,
ein D-Services oder Werte oder was auch immer zur Verfügung stellt.
Man detailliert nur, dass man sie braucht.
Und wie das das macht, ist erstmal den Framework überlassen.
Und ich sage an dieser Stelle, ich möchte einen Scope haben.
Scope ist sowas wie ein Kontext und über diesen Kontext komme ich ran,
an zum Beispiel das Modell und viele andere Sachen.
Das ist so was wie mein zentrales Kontextobjekt.
Die können auch jaarchisch geschachtelt sein,
alles mögliche
So, und das ist auch ein bisschen überraschend für mich,
aber in Engo da melde ich das dadurch an,
indem ich den Namen des Services, den ich brauche,
hier hinschreibe.
Das heißt, ich muss genau diesen Namen hinschreiben für den Parameter.
Sonst weiß Engo da nicht, was er da reinstellt.
So weiß Engo da das aber. Und ich kann ja
diesen Scope jetzt Funktionalität dranhängen. Der Rechner habe ich das
, glaube ich, genannt. Eine Funktion dran. Und
das war Term, Down, Interest. Kann ich mir
noch merken. Und, nee, Term ist falsch,
ne? Price, Price war der erste Parameter und Term.
So, und dann Kann ich hier drin was machen?
Und zwar habe ich ja hier meinen Service schon vorbereitet.
Den habe ich fertig, den wollte ich euch nicht belangweilen.
Das heißt, ich erzeuge mir hier ein neues Service-Objekt.
Denn also mein Kalkulator-Service, halt cooler Abtor, habe ich ein New-Calculator.
Und darauf kann ich jetzt die vorbereitete Methode Kekulic Morridge auf Room Price.
So ein bisschen ist hier von links nach rechts geschaufelt,
aber so ist das eben.
Zumindest jetzt bei mir. Und Charme. Und was da
rauskommt, speichere ich mal im Ergebnis
So, und jetzt zu sehen, ob das überhaupt irgendwie geht.
Ich habe schon relativ viel programmiert, lasse ich das einmal laufen.
Mit der jetzt Vertrauen gewinnen und setze mal einen Breakpunkt rein.
Äh, Simple Up. Ein bisschen klein hier alles,
ne? Da muss ich immer neu laden, genau.
Und setze mal hier einen Breakpunkt rein. Und ich würde jetzt vermuten,
wenn ich hier vernünftige Werte eintrage, 200.000,
ist auch letztlich egal, 30,
bis ich da drauf drücke, dann sollte ich hier landen.
Wer das hier kennt aus dem Kron, der sieht,
da bin ich gelandet, jetzt gucken wir uns mal an,
was als Parameter übergeben werden wird, Down ist 10,
stimmt, Interessen, 7 Price,
ist 200.000,
Sirm ist 30.
Das sieht gut aus
So, jetzt kann ich das durcheiern,
kann mir das Ergebnis angucken? Und da sehe ich,
weil ich das ja schon fertig geschrieben hatte,
da kommt was raus, das könnte hinkommen.
Das ist schon mal ziemlich cool. Also zumindest fand ich das
ziemlich cool. Das heißt also, die Verdrahtung ist schon da.
Jetzt fehlt natürlich was. Und zwar muss ich das,
was da jetzt rausgekommen ist, ja irgendwie wieder in mein
Modell packen und dieses Modell wieder verheiratet mit diesen Ergebnissen.
Ich habe sowas auch schon mal mit Jake Ferry gemacht oder einfach so mit JavaScript.
Das ist nicht schwer, aber es ist Schreibarbeit.
Hier ist das Ausschreibarbeit aber deutlich weniger. Das erste,
was ich mache, ist, dass ich das,
was hier rausgekommen ist, als Modell zur Verfügung stellt.
Und das mache ich, indem ich es einfach im Scope setze.
Scope-Ergebnis, nenne ich das auch. Ist das
falsch geschrieben? Das ist einfach nur Deutsch, ne?
Nee. Ergebnis? Nicht blöd? Ach da,
das ist falsch geschrieben. Ergebnis. So. Okay,
dadurch, dass ich das gemacht habe,
dass ich also mein Modell gesetzt habe auf das,
was da rauskommt, kann ich das jetzt wieder in meinem View benutzen?
Bei View ist ja das hier und hier habe ich wieder Inputfelder,
diese Inputfelder, so die Only,
weil eigentlich sind die keine Inputfelder.
Gibt es Output?
Ja, ne
Die ich auch gut nehmen kann.
Und die muss ich jetzt wieder verheiraten mit Modell.
So. Copy-Paste, ne? Was noch? Jetzt, ich fahre,
was muss ich da hinschreiben? Da gucken wir nochmal,
weil hier habe ich ja einfach gesagt,
Ergebnis und in diesen Ergebniswerten eben hier unten,
weil sie noch da sind, ne, leider nicht mehr.
War Principle drin und da aber auch Payments, das war,
glaube ich, nur Payments Monk für die und Tode.
Das heißt, im View schreibe ich jetzt genau das hin,
also Ergebnis, Deutsch-Englisch-Mix, ne?
Principle hieß das,
glaube ich, Principle
Probieren wir mal wieder ein bisschen. Das war Taymans,
glaube ich, einfach nur, habe ich es natürlich
schon mal gemacht, deswegen weiß ich das noch.
Monthly Payment war auch, wie meine ich,
und Total Payment war meines Wissens zu tun. So,
jetzt lade ich das ja alles mal neu und probiere das nochmal,
das brauchen wir hier nicht,
geht er jetzt sowieso.
Weg. 200.1010,
Und jetzt erscheint das da. Das heißt, das ist
jetzt nichts, was nicht jeder hätte auch programmieren können.
Ja, aber es gibt aber,
ich habe ja nichts dafür programmiert, ich habe nichts gemacht.
Ich habe also eigentlich nur das Modell an diese Viewstelle
gebunden und dadurch erscheint es da mehr oder weniger magisch.
Den einzigen Code, den ich geschrieben habe, ist der hier.
Und es ist letztlich ein bisschen Doku.
Also sowas wie die eigentliche Fachlichkeit verbunden mit dem View.
Space. The fine or from year. Was?
The schicker New Micros gibt es ja breit
Ja. Okay. Kurze Zusammenfassung, was habe ich gezeigt?
Ich habe dieses Date-up-Binding gezeigt. Das habe ich noch gezeigt
. Im Prinzip Dependency-Invection ganz leicht. Und jetzt möchte ich
dir die Titen zeigen. Und eine Direktive ist sowas,
was man Wettkompone nennen kann. Das heißt,
ich bin in der Lage, mein View mit eigenen Text,
mit neuen Texts oder mit neuen Attibuten zu erweitern.
Das hier, was hier steht,
ist im Prinzip eine Direktive,
die aber schon vordefiniert ist von der Ingwer
Das heißt, ihr seht ja, das ist ja nicht normal HTML,
sondern irgendwas, was ich noch dazuschreiben kann.
Und Angular macht da auch Sinn. Und das möchte ich jetzt
selbst tun. Und zwar, was ich eigentlich gerne hätte,
ist, wenn ich hier so drüber fahre,
dann soll schön Bootstrap-mäßig, soll jetzt hier Erklärungstexten, Tooltip-Laschern.
Und was ich gerne hätte, für mich als Programmierer,
wäre das jetzt schick, wenn ich meinetwegen mit dem Spam
einfach Tooltip hinschreiben kann und er tut ihm bis der,
sei es für das Haus
Nicht besonders auslagegekräftig. Darum geht es ja aber auch nicht,
sondern was ich jetzt möchte, ist,
dass ich ohne weiteres größeres Zugucken, dass das hier jetzt erscheint.
Wir sehen, das ist nicht der Fall, warum auch.
Warum sollte es? Und was ich brauche,
ist eine Direktive, die Tooltip heißt und hiermit was anfangen.
Das habe ich vorbereitet, weil es relativ lange dauert,
sowas zu schreiben. Deswegen habe ich das jetzt schon fertig.
Und zwar habe ich das fertig hier drin schon gebaut.
Und dafür musste ich zwei Sachen machen.
Zum einen muss ich eine Moduldefinition angeben,
denn nur an so eine Moduldefinition kann ich auch eine Direktive
hinten hängen.
Das ist aber
administrativer Kram
Und mein Modul heißt ab jetzt Morgic ab. Und damit
Angola das auch weiß, auf welches Modul ich mich beziehe,
muss ich jetzt in mein View Morgic HGBL, das bei NGUP, angehen.
So heißt jetzt mein Name. Das langt. Und nachdem
ich, ups, kriege, so ist es,
nochmal alles zu, was mich hier verwirren könnte.
Nachdem ich das gemacht habe, gibt es diese Detektive.
Die Direktive funktioniert so, dass ich sage, wie heißt sie?
Und zu der Direktive kann ich eine Funktion angeben,
die ausgeführt wird, sobald sehr vereinfacht gesagt,
sobald Engla dieses Attribut findet in meinem Bio.
Das ist im Detail ziemlich komplex, was da passiert.
Und deswegen habe ich ein sehr einfaches Beispiel genommen. Und was hier passiert,
ich meine, also ich habe eine Funktion,
da kommt der Scope rein, den wir schon kennen,
das Element, also das hat ein L-Element.
Die Attribute des HTM-Elements. Und das hier ist bootstrapped,
das auf Jake Freedy beruht. Und da kann ich einfach sagen,
auf ein Element, zeig mir einen Tooltipp an,
kann bestimmte Parameter angeben.
Hier zum Beispiel defaultmäßig, zeig dich mal oben an,
mach das animiert. Der Titel, den hole ich mir
aus den Attributen,
und zwar aus dem Attributen-Tooltipp,
so heißt das eben
Und bei der Anzeige, da ist mal eine halbe Sekunde warten,
bis das anzeigt. Und bevor es verbirgt, 100 Millisekunden.
So, ich glaube, das könnte schon funktionieren.
Nee, es funktioniert nicht. Denn ich muss das erst
mal einbinden ab Jazz. Das heißt, das muss ich
auch machen. Habe ich nämlich noch nicht getan.
Und habe ich mir auch notiert, damit ich das benutzen kann.
Muss ich diese beiden Module auch importieren,
weil ich bei der Modedefinition angegeben habe,
diese beiden Module brauche ich auch
Wofür die brauchen, bevor wir die brauchen, zeitgleich.
Das heißt, ich muss jetzt noch Kalkulator und Mordjule.js und
Restkalkulator Jazz importieren. Und dann gucken Sie das an.
Das ist nicht so spannend. Source, to later more
doing und source rest, can culated as. Okay,
und wenn jetzt wieder alles gut gegangen ist, dann...
Das wäre schön gewesen. Ich hatte jetzt gehofft,
dass sobald ich darüber fahre, Irgendwas, das habe ich jetzt kaputt gemacht.
Ich sehe schon daran, dass er das unten auch nicht mehr ausführt.
Also ich muss jetzt mal die Konsole gucken,
was ich kaputt gemacht habe. Nur module morgic ab.
Also er sagt, das Ding hier findet er nicht.
Ach so, stimmt ja auch. Reihenfolge, Reihenfolge auch sehr gut.
Auch sehr guter Tipp. Sieht jetzt viel besser aus.
Jetzt fahre ich da drüber und ja. Das heißt,
500 Medisekunden zeigt er das an und animiert und ebenso,
wie ich mir das vorgestellt habe.
Ich habe jetzt noch eine witzig kleine Erweiterung hier drin
Ist euch vielleicht schon aufgefallen, dass in meiner Direktivie stand,
dass das Placement, also wo erscheint, der Tu-Tipp,
auch angegeben werden kann, und zwar mit Tu-Ti-Placement.
Also wenn ich da ein Attribut tute Placement mit dazu mache,
kann ich sagen, wo es hin soll.
Also zum Beispiel nicht nach oben, sondern echt.
Das ist jetzt im Detail, aber in Angular ist das so,
dass dieses Camel Case, wie es in der Detektive war,
hier zu sowas wird.
Du hast einfach eine Fonvention. So, jetzt probieren wir
das auch nochmal aus. Und jetzt müsste er,
wenn ich nicht gelogen habe,
das da zeigen
Tut er. Das ist also eine Identitive. Das heißt,
man kann sein View um eins eigene Komponenten erweitern und was
die Engola-Leute auch als Beispiel hatten, sind zum Beispiel Tabs.
Das heißt, ihr führt ein neues HTML-Element Tab ein und hinterlegt dahinter
Direktivcode und dann könnt ihr sowas machen wie eine reichere Auszeichnung sprachen.
Das Beispiel gibt es auch auf der Engola-Seite,
das ist aber so komplex leider, dass ich es eigentlich hier nicht vorstellen konnte.
Ich wollte euch nicht sehr verwirren. Okay,
zwei Sachen noch, wir sind fast durch,
haltet doch einen Moment aus und zwar zum einen Services.
Was haben wir denn da
Wir haben schon Services gesehen, aber jetzt noch nicht so explizit.
Und zwar ist in diesem Modul ja ein Service definiert.
Sag ich mal. Kann ich vielleicht auch mal die junge...
Und der... Okay, erstmal ist eine Moduldefinition,
auf die habe ich mich ja eben bezogen.
Und in dieser Moduldefinition sage ich, man kann sich
einen Service erzeugen, Factory, der heißt Calculator.
Und da steht, was gemacht werden soll. Das war
ein neuer Kilkulator-Zeug. Das sieht das ein bisschen witzlos aus,
aber das ist praktisch ein Teil von dieser Dependency Injection.
Das heißt, an dieser Stelle konfiguriere ich,
wie jemand, der Kalkulator braucht, einen Kakulator kriegt.
Und der braucht einen Kalkulator, wir gleich. Weißt du,
ich mache jetzt günstig die Not dafür, um das zu demonstrieren.
Das heißt, hier schreibt jetzt Kalkulator hin.
Das heißt, ich möchte den Kalkulator-Service benutzen.
Und an dieser Stelle schreibe ich nicht hin,
wie kriege ich den, sondern einfach nur will ich haben.
Und da ich diesen anderen Code, den ich ihm euch gezeigt habe,
den habe ich ja schon, da ich entweder gesagt habe,
wie er so einen Kalkulator-Service erzeugt, kriege ich die.
Das heißt, diese Zahl, die brauche ich nicht mehr, heißt weg damit.
Dann den Kalkulator kriege ich ja durch die Uhr, durch das hier.
Und wie gesagt, wenn man nichts weiter sagt,
funktioniert diese Dependency Injection, dass Ingo da weiß,
was soll er dann da reinstecken über den Namen.
Das heißt, wenn dich den Parameter hier anders nennt,
funktioniert das alles nicht mehr. Obwohl,
vielleicht zeige ich euch erst mal, dass es überhaupt funktioniert.
Mache ich mal. Und ich würde behaupten,
wenn ich das jetzt eingebe und das ausführen lasse,
und das geht immer noch, dann klappt das.
Glaubt ihr mir das? Ja? Vielleicht? Okay. Ach so,
oh, wir haben noch, brauche ich ja gar nicht.
Wir haben ja sogar noch unseren Brettpunkt. Das können wir
mal sehen, ob dieser Kakulator hier mit irgendwas gesetzt ist.
Ich hoffe, das ist mal schwer
Komme ich in Erklärungslot? Ach so, das muss natürlich
in der Closure gucken, weil er hier oben einen drüber.
Das heißt, dieser Kalkulator ist gesetzt. Man sieht jetzt hier nichts,
aber sonst würde er da ja an die Feind oder so stehen.
Das heißt, in Kalkulator gibt es,
ich kann hier drüber steppen, kriege wieder mein Ergebnis.
Da ist das. Alles gut. Und wenn ich es
jetzt ausführe, alles so wie vorher.
Das ist praktisch so eine Kombination aus Benutzung eines Services,
den ich mir habe indizieren lassen.
An dieser Stelle über die Pendency Injection.
Ist ein bisschen der Jahre weltfunky. Ich habe keine Ahnung,
vielleicht können wir nachher diskutieren, ob das in der,
ja,
es gibt weltfunky ist oder nicht
Weiß es nicht. Mir ist es vertraut, ich finde es okay,
muss man nicht benutzen, kann man benutzen. Okay,
als letztes möchte ich Restservice zeigen, das heißt einen Restcall einbauen,
denn euch ist vielleicht halt aufgefallen, würde eine Bank,
das sie benutzen, was ich hier habe?
Sicher. Bei dir? So, überhaupt so,
ihre geheimen Berechnungscodes sind im Internet, das kann ich minifizieren,
opfuskieren, aber ist immer noch da. Und dann so was wie 64-Bit,
Floating Point für Mathematik oder für Bankwesenden, wer weiß,
vielleicht braucht ihr auch keine Motivation, das heißt,
ich habe einen Restservice geschrieben in Java und im Java ist es möglich,
es geht vielleicht nur ein Jahreskript,
aber ich wüsste jetzt nicht wie.
Aber ein Jahr, aber es ist möglich, mit beliebiger Genauigkeit
zu brechen. Das heißt, keinerlei Gründungsfehler zu haben.
Außer bei Divisionen und dann wird es aber, na gut,
also so genau wie ich möchte, sag ich mal.
Ich habe das vorbereitet, mal sehen, ob das jetzt klappt.
Und zwar ist das nochmal ein Lokalhost, da war ich ein bisschen vorsichtiger.
Man hat es jetzt nicht gesehen, aber da ist jetzt echt was passiert,
machen wir vielleicht einen neuen Tab auf. Heißt,
ich habe hier schon mal einen Service und der ist so restmäßig,
könnte man auch diskutieren, das ist jetzt aber nicht Thema von heute,
ob das jetzt so gut ist.
Hier gebe ich als Teil der URL meine Parameter an,
also 200.000 will ich haben, 10 Anzahlungen, 7,5 Prozent Zinsen,
30 Dings, 30 Jahre Laufzeit und das kommt raus.
Das heißt, also ein Jason-Objekt liefert mir mal ein Java
zurück, wo die Ergebnisse trotzen.
Die sind im Moment genauso aussehen wie die JavaScript-Rechnung,
aber hätte ich die Zahlen entsprechend groß gemacht,
wäre nicht dasselbe rausgekommen, wie die ausgeht.
Man muss nur groß genug machen,
dann hat man irgendwann schöne Hunde zu viel. Okay,
jetzt möchte ich diesen Service, den es offensichtlich gibt, einbinden.
Dann wollen wir mal gucken, wie das geht.
Und zwar habe ich da wieder was vorbereitet.
Fast fertig, klein, wo mit Geduld noch
Das heißt, ich habe wieder ein Modul definiert.
Dieses Modul bezieht sich auf ein anderes Modul, ein Engular-Modul,
das es schon gibt. Und dieses Engular-Modul stellt mir Restressourcen
zur Verfügung. Den Service, also ich definiere Service,
den Service, den ich mir definiere, der heißt Morgage-Ressorts.
Ich kriege wieder über die Pensity Adjection eine generelle Ressorts injiziert
und kann mir die zurecht kontegorieren.
Das heißt, ich sage an dieser Stelle,
mach mal diese URL und an diesen Stellen mit den Doppelpunkten.
Setz mal Parameter ein, die später noch dazugegeben haben.
Dann habe ich diese Resting-Source fertig definiert. Und nachdem ich
das gemacht habe, ist Engular in der Lage, Westcodes.
Das heißt, die Mondcodes gegen den Server zu
Das muss ich jetzt aber noch tun. Das heißt,
ich muss jetzt noch diesen Service benutzen, und das mache ich in meinem Controller.
Das mache ich mal im Controller, genau. Das ist
mein Controller. Eigentlich das einzige Stück Code, das ich
bisher geschrieben habe. Vielleicht nicht so der Rede wert.
Das ist aber eigentlich auch das Coole, finde ich. Controller schlank finde ich super,
weil Controller ist für mich eigentlich immer all das,
wo man nicht weiß, wo man,
also da ist der ganze Code drin,
wo man nicht weiß, wo der sonst hingehört.
Und wenn das wenig, also zumindest für mich,
und wenn das wenig ist, finde ich das gut,
das ist wenig.
Okay, jetzt will ich nicht meinen normalen Kalkulator benutzen,
sondern folgt ihm eh noch,
was heißt
Was brauche ich? Meine Morgenschrissos. Und wie kriege ich
den da rein? Wie komme ich an die Morgenschrissos
rein? Machen wir das ein bisschen interaktiv,
wenn es mir keiner sagt, mache ich nicht weiter.
Ja. So. Genau. So, jetzt habe ich das Ding.
Morge Ressource, das hier ist jetzt ja alles nicht mehr gut,
mal weg. Und auf dieser Morgisch Ressource kann ich jetzt,
wie das sich für so eine restliche Source gehört, Get Post,
Delite Putt, genau, aber ich will Get machen.
Das mache ich auch Geld. Und das muss ich jetzt
ein bisschen abgucken. Das heißt, bei diesem Get
kann ich die Parameter angeben
Für die Lehrstellen, die ich vorhin nie hatte.
Jetzt müssen wir mal reingucken. Und zwar für Price,
das ist wieder meine Restdissource Down Interest im Turm.
Und das ist jetzt wieder Erbsen zielmäßig, das heißt,
ich mache jetzt hier wieder genau Price, Doppelpride Price.
Darm, Down, ups, into rest.
Ich vertippe mich mit Sicherheit und dann wird es Interest.
Das ist ja schreibbar, wenn ich mich vertippe. So,
und das erste ist hier natürlich,
es ist der Name des Properties und das zweite hier ist eben jeweils,
das checkt ihr natürlich,
was ich
hier reingegeben habe
So, und nun fehlt natürlich noch was. Und zwar,
da das ja asynchron läuft, muss ich eine Corback-Funktion angeben,
was denn passieren soll, wenn der Paul fertig ist.
Und da das ja ein Restcall ist und Engolas schon ahnt,
dass da jetzt ein Jason-Objekt zurückkommt, wandelt er automatisch dieses Jason-Objekt in JavaSkip-Objekt.
Und das kann ich hier reinkriegen. Und das nenne ich mal ein Ergebnis.
So, und jetzt ziehe ich das nochmal hier hoch.
Und wenn ich jetzt alles richtig gemacht habe, funktioniert es nach wie vor.
Das heißt, wenn das Ding jetzt noch funktioniert,
Machen wir auch gleich nochmal einen Dreipunkt. Dann,
der Punkt haben wir hier, ich mache den mal dahin,
nein, hier, ein da, dann 200,
1, 2, 13, 37.
So, da kommen wir erstmal rein, jetzt mache ich
den Call. Okay, ach ja, ja,
ich sehe schon, ich muss natürlich das davor haben,
bevor ich das jetzt hack,
lade ich mal dieses Morgic HGML,
lade ich mal über meinen Java
Server, also klar, das mal über das,
das habe ich, glaube ich, auch schon irgendwo vorbereitet.
Nee, habe ich nicht vorbereitet. Schade. Da muss
ich das mal so machen, hier, Morgic.
So, er zieht es irgendwie besser aus. Das heißt,
jetzt lade ich meine Morgic, er seid über denselben Server,
auf den ich gleich den Lescon mache.
Das ist nicht notwendig. Das ist nur, weil ich
irgendwie das vertüdet habe gerade. Das ist nicht notwendig.
Du kannst also auch den Restkorse was anderes machen,
wenn bestimmte Bedingungen voraus, Bedingungen erfüllt sind, das ist unser Fall erfüllt.
1, 2, 1, 2, 1,
2, 30.
Jetzt erscheint das hier wieder
Sieht erstmal nach nichts aus, weil es macht ja die
ganze Zeit das selber. Wir machen jetzt nochmal einen Projektpunkt,
damit ihr seht, dass tatsächlich hier ein Remote-Korb heißt.
Ach nee, nach besser. Wir gucken uns in das
Netzwerkprotokoll an. Das heißt, hier sehe ich ja,
es wurde ein Get-Request gemacht. Kann ich mir angucken.
Auf diese URL von meiner Anwendung, das kommt zurück.
Ich vermute, das reicht euch damit.
Ihr glaubt, dass diese Betöbung wirklich von da kommt.
Okay, gut, das wollte ich auch zeigen.
Was habe ich euch gezeigt? Nochmal zusammenfassen.
Dieses Beinding an Felder wie da. Das heißt also,
ich kriege Eingaben direkten Beine in einem Modellwert und kann sie
dann sofort wieder benutzen
Pendency Injection. Habe ich vielleicht ein bisschen überstrapaziert.
Dependency, nee, Quatsch. Direktiven. Das heißt,
dass ich irgendwie meinen HTML erweitern kann und passieren schlaue Sachen.
Services, dass ich die erzeugen kann,
um sie dann zu indizieren und ein Call gegen Restserver.
Ich habe diese Calls auch ohne irgendwie Enkellagen mal gemacht mit
Jake Freedie oder mit nackt. Ja, aber es gibt,
das geht natürlich alles auch, aber der Code,
den ich schreiben musste, ist echt deutlich viel länger.
Ist nicht schlimm vielleicht, aber mich hat es beeindruckt.
Okay, damit wäre ich fertig. Ich bin jetzt ein bisschen unsicher,
ob wir jetzt Fragen machen oder ist in einer Vortrag oder?
Jetzt? Okay
Dann tragen. Feedback. Wir finden jetzt.
Allein das finde ich ja schon wahr.
Ja. Wollen wir mal kurz noch sprechen oder so eingehen?
Ach ja, soll ich jetzt machen? Also, was,
also ich habe ja am Anfang immer so eine verliebte Phase bei neuen Techniken.
Die ist jetzt vorbei. Das heißt nicht, dass ich
das doof finde. Ich finde das immer noch super.
Was ich nicht oder wo ich, wir haben mal so
einen kleinen Hackathon gemacht und einer hatte dann irgendwie tausend Objekte, tausend Modelleobjekte.
Ihr seht ja, da ist irgendwie ein relativ komplexer Listener-Mechanismus
dran, der merkt, wenn sich was verändert.
Und dieser Disner-Mechanismus wird DNA zur Anzahl der Modelleobjekte, Interview benutzt werden, langsamer.
Das heißt, sobald tausend Objekte da sind,
kann man es eigentlich kaum noch bedienen, das Ganze.
Die Engolar-Leute wissen das und sagen, ja, stimmt,
ist ja auch richtig. Es gibt aber in zukünftigen Jahresship-Versionen,
in dem Cannery-Build von Chrome ist das schon drin,
gibt es so eine Möglichkeit, nativ auf Objektänderung zu führen.
Das heißt, man registriert sich auf ein Jahr,
aber es gibt Objekt, irgendeine Methodik, vergessen,
wie sie heißt, weiß das jemand?
Ob Surf, Notify, ich habe es wirklich vergessen.
Und dann kriegt man auch ein konstanter Zeit für die,
wie viele Objekte
Updates mit.
So, okay
Eine Kritik war das, also es wird langsam mit vielen
Modellobjekten und die Engländer-Leute versprechen, aber es wird alles gut.
Glaube ich denen auch. Für sowas Kleineres ist es super,
man merkt das nicht, aber für was Größeres muss man drüber nachdenken.
Was ich auch zumindest fragwürdig finde, ist,
dass ich dieses HTML, das ist ja eigentlich mein View,
der sollte ja eigentlich nichts irgendwie zu tun haben mit meinem
Controller oder nichts zu tun haben mit irgendwie mal der Technik,
wenn es ganz super wäre.
Das ist aber bei Engo Nine nicht der Fall, das heißt,
in meinem View schallbe ich ja schon relativ Technikabhängigkeit rein,
sowas wie Engy Controller, das ist ja nicht nochmal HTML.
Ich meine, das würde immer noch funktionieren,
auch ohne Ingolar, aber das das finde ich überraschend.
Also wenn ich zum Beispiel die Jake Furry-Anwendung bastle oder wenn die Zeit,
die ich gebaut habe, dann musste ich das nicht machen,
dann konnte ich mich auf IDs beziehen und konnte da Sachen dran hängen.
Das heißt, die Trennung zwischen Code und View finde ich bei Ingolar
nicht klar durchgezogen. Ob das jetzt wirklich schlimm ist,
bin ich unsicher, aber das ist mir erstmal aufgefallen.
Und es müsste meines Erachtens nicht so sein. Und das sind
die beiden Sachen, die ich nicht so toll finde.
Die Dokumentation ist gut, aber oft ein bisschen sparsam. Das heißt,
so ein Develop-Bereich, gerade wenn ich so API-Referenz,
weiß nicht, ob ich einen schönen Treffer habe,
Also da hatten wir eigentlich irgendwie schon was.
Sogleich das erste. Manchmal ist es ein bisschen knapp,
aber okay, das ist relativ neu. Es ist von Google,
es ist von schlauen Leuten gemacht, das sehe ich.
Also Leute, die Leute, die schlauer sind als ich auf jeden Fall.
Könnte man vielleicht noch ein bisschen verbessern, die Dokumentation.
Das sind meine Kritiken. Okay. Weitere Fragen,
weitere Rückmeldung. So viele, die sagen, einmal,
du da hinten, du fahren und dann tu da hinten.
Also esst du. Und du hast gesagt,
du hast auch mit Background gearbeitet,
dass du das dazu vergleichen musst, wenn ich das aufbaue.
Also bei Backbone, meine Erinnerung,
mein Backbone sind verschwommen, seitdem ich Ingola benutze.
Ich erinnere mich nur sehr deutlich daran,
dass ich das Modell bei Backbone konnte ich nicht
irgendwas nehmen
Da ist das ja irgendwas. Dann nehme ich irgendeinen Gedankenschutz
, so ist mir völlig egal.
Zum Beispiel diese Restressource, die ich irgendwie wiederbekomme.
Die konnte ich einfach als Modell benutzen. Das ging meines
Wissens, also habe ich zumindest in Backbone nicht hinbekommen.
Bei Backbone fand ich vorteilhaft, dass man irgendwie Technikteile austauschen konnte.
Also zum Beispiel, dass ich mir die Template Engine aussuchen konnte.
Das geht bei Eng oder nicht. Das ist alles eine Soße quasi.
An mehr kann ich mich bei Backbone nicht mehr erinnern.
Okay. Hast du die Geschichte mal produktiv eingesetzt,
also in einem größeren Rahmen als das jetzt?
Was ist dir dabei sozusagen aufgefallen
Größer, ja, immer noch ein Ein-Mann-Projekt. Wie heißt das
denn nochmal? Das hier, habe ich für einen Freund gebastelt.
Das ist auch, ihr seht das natürlich immer,
Bootstrap für Leute, die nicht designen können wie ich.
Das ist so was, das sieht ja ein bisschen doof aus wegen der Auflösung.
Da muss ich selber mal beim Responsive Layout. Okay,
aber das ist zum Beispiel so was wie, da kann ich so,
wie heißt er das, wo man so durchgeht,
Wizard-mäßig Sachen auswählen und relativ dynamische Sachen ein- und ausblenden.
Ihr seht das, dass da irgendwelche Sachen dazukommen,
je nachdem,
was ich mache
Das geht super damit. Das ist hervorragend dafür gleich.
Um sowas zu bauen, das dauert überhaupt nicht lange.
Wie gesagt, so konfigurieren, ich habe dir gesehen,
das ist auch alles hier Live-Code gewesen,
meine Direktive für die Dings, für die Tool-Tipps.
Das habe ich aber auch alleine gebaut. Also ob das jetzt trägt,
in großen Projekten, habe ich keine persönlichen Erfahrungen,
die Google-Leute sagen aber gerade in großen Projekten trägt das,
weil man diese Services definiert, sich ganz viel Mühe gibt zu abstrahieren,
dass man diese Dependency-Injection macht, um es besser zu testen.
Das sagen die Leute, das kann ich aber,
kann ich nichts zu sagen, weil ich eben noch nichts Größeres gebaut habe.
Okay, als Antwort? Ja, auf jeden Fall.
Und hat Angreor Jazz vielleicht dann,
ich habe mir nicht direkt angeguckt, aber die große Beispiele.
Ob das groß ist, ich glaube, es gibt Case Studies,
YouTube und PS3, ob das groß ist.
Ich weiß nicht, also groß von der Anwendung, weiß ich nicht.
Groß von der Position, die wahrscheinlich. Das alles habe
ich mir nie angeguckt, aber das, ich meine,
hier geht auf die Ingo der JS-Seite Case Studies und dann findet man das.
Also es ist auf jeden Fall nicht Spielkram.
Also die haben auch selbst damit Sachen gebastelt. Ich glaube,
es gibt kein, ich wüsste jetzt keinen Google Service,
der Moment mit Ingo der JS gebaut ist,
den wir so benutzen,
finde ich
Ich glaube, er ist da hinten war. Ja,
ich habe eine Frage. Ich habe echt zwei von uns.
Das war das letzte Mal. Wenn ich das richtig geil finde,
hast du gesagt, du hast eine Zeichnung, dann wird wieder gut.
Wie bitte? Ja, groß? Wie gesagt,
wir programmieren. Ich sage es mal auch. Ja.
Soll ich das gleich sagen? Ja, ja.
Der liegt ja nirgends, weil das ist einfach definiert.
Dadurch, dass ich irgendwas in Scope reinschreibe, irgendwas,
kann Arry sein. Kann auch meine, das,
was hier rauskommt,
ist ja
eine Restressource
Das gibt es noch ganz, das hat zwar auch
diese Werte, aber ich könnte jetzt weitere Calls suchen.
Das stecke ich einfach in meinen Scope. Und dadurch,
dass ich das gemacht habe, habe ich eine neue Modellvariable.
Und die kann so komplex sein, wie sie will.
Das ist es. Also ich muss eben nichts machen im
Gegensatz zum Beispiel zu Backbone, wo ich bestimmte Sachen beerben muss.
Ja, also die Verbindung zwischen der IU, stellst du im Prinzip her,
dass du da oben ja auch noch die CDL geschrieben hast.
Und das Ganze hast du in dir gewohnt, glaube ich.
Ja. Controller, ja. Ja, passt noch mal.
Und die Controller, Morgage-Controller? Nein. Genau. Das
ist dann praktisch der Scope. Darüber definiere ich einen Scope und was
der Scope ist, kriege ich in diesem Controller.
Also letztlich, ja
Hab ich geschaut. Okay. Sollte mal was. Du
hast jetzt ja Musias schon gesagt, eingegeben, gemalt.
Diesen? Ja. Mhm. Das ist geil. Das
ist geil. Ich war jetzt sticht einer mit dem Support
. Und die Augen ist teils natürlich allen möglichen Kram,
weil du es weiter hast. Wie sieht es aus,
wenn du jetzt zum Beispiel in aller Clip-Framework zum Beispiel deine News,
in kleiner Schlüssel aufmachst und wieder,
geben wir jetzt nach dem Maus.
Gibt es einen Mechanismus, oder muss ich sagen?
Den Mechanismus gibt es, sprengt,
obwohl da schmecke ich den Rahmen.
Also ich kann sie
mich einfach zeigen
Und zwar aus meinem Unterhaltsrechner, den ich euch eben gezeigt habe. Da,
ich vermute, dass man zwar hinten schlecht sehen kann,
ich weiß aber nicht, wie ich die Schrift schlüsse.
Da habe ich Parshits, das heißt also so HTML-Schnipsel.
Ich bin da auch jetzt nicht vorbereitet, deswegen muss ich
mal irgendwie gucken, ob ich irgendwie einen guten finde.
Step 1 sieht ganz gut aus. Nö, sieht doof
aus. Gleich habe ich es sowas hier. Das heißt,
ich habe hier, ich mache das mal ein bisschen größer,
wenn ich es schaffe
Das heißt, das ist ja auch wieder normal HDML. Und
hier habe ich sowas wie Angie include und gehe eine Source an.
Das heißt, ich kann hier an der Stelle
was includen und das wäre ein Header für diese Seite.
Und meine eigentliche, meine Index-HTML-Seite sieht so aus.
Das ist das überhaupt nichts mehr drin. Oder eigentlich nur dieses,
das Administrative, wo ich irgendwie alle möglichen Bibliotheken und hier dieses Google-Tracking und so einbau.
Und wo ich an einer einzigen Stelle sage, NGV und sage,
den View, den du irgendwie dir jetzt aussuchst,
den scherzt du bitte da.
Ja, immer. Und dann ist hier noch Angie include,
dass ich das Menü ein
Reicht das vielleicht als Erklärung? Ich habe es schon wahrscheinlich bewartet.
Das heißt, du musst mit jedem jugendlos im Prinzip,
ist das eigentlich inkludiert? Diese Hirn, nein. Da
habe ich nicht verstanden, was man in den Telefontonen steckt.
Kannst du das mal auch nicht sagen?
Das andere? Ja, der Parsche letztendlich.
Diesem hier? Genau. Was heißt nochmal dieses Glut?
Da inkludiere ich den Header. Also ich meine,
das würde jetzt wahrscheinlich viele andere ein bisschen langweilig.
Deswegen mache ich es ein bisschen schnell. Das hier oben
ist so ein Header, den ich so durchgestehen habe.
So, und insgesamt so eine Steuerung,
ihr seht ja auch hier oben sind jetzt
so links
Step 1. Welche Step 2 ergibt, komme ich auch tatsächlich zu Step 2.
Das heißt, ich kann so ein Mapping von Lieblings,
also links mit seiner Raute,
in meine Anwendung reinmachen und gebe das dekorativ an.
Damit will ich es dann auch wirklich belassen, weil das wahrscheinlich nicht je interessiert.
Aber mal sehen, ob ich es auch so schnell finde.
Oh, nicht schlecht. Genau da ist es. Das heißt,
ich kann sowas sagen, wenn der hinten der HF-Teil,
auf das Map, dann machst du bitte den View so.
Ja, das finde ich auch eigentlich ganz cool.
Also vor allen Dingen,
wenn es
ein bisschen größer wird
Okay, ich würde sagen, weil es jetzt schon ein bisschen später ist, noch eine letzte Frage.
Und dann würde ich gerne an den nächsten übergeben. Achso, du warst ja schnell so. Motto, der ist der Mann. Der ist der Mann,
der ist der Mann, der ist der Mann,
der tot ist, tot, tot, tot,
tot,
und da gebe ich diese Liste an und dann kann ich sagen,
wie ja das im Buddy,
zum Beispiel das Listle-Element oder was auch immer,
angeben soll.
Und das funktioniert genauso, das heißt,
sobald sich das verändert, erscheint noch ein Liste-Element.
Achso, kann ich euch doch zeigen.
Das hier, verzeiht mir bitte, das verkackt dir
der Haut
Das heißt, wenn ich jetzt hier, meinetwegen hier,
also hoffentlich müsst ihr das nie benutzen,
das hier ist eine Liste, also hoffe ich echt für euch.
Das ist eine Liste und da muss ich nichts für machen.
Ich habe einfach in dieses Modell beim Hier Posten hinzufügen,
habe ich das in das Modell getan und Engo,
da weiß automatisch, oh, da hat sich was getan,
das muss ich neu rendern, macht es noch.
Okay? Weißt du zufällig, wie entweder man es macht,
wenn ich das gleiche wünsche, verkaufe.
Und mir darauf eingehen zu können würde, macht er das,
also absolut, das kommt mit unserem zu,
neuen Reichfall,
wir werden Gottes
ganz einfach Spaß machen
Du meinst, ob er schlau genug ist zu sehen,
oh, das kann ich, das weiß ich nicht,
das kann ich dir nicht sagen.
Wüsste nicht mal, wie ich es rausfinden könnte.
Aber wenn das jemand wüsste, weißt du das jemand?
Okay. Dann haben wir wahrscheinlich diese MD-Robin-Dealer-Team angucken.
Das ist eine genau antiseklitik, ja. Wenn man sie
da versteht, also ich hätte da so meine Schwierigkeiten.
Ich kann sie euch aber einfach nur, damit ihr das recherchieren könnt,
gucken wir jetzt einmal an die Seite, wie es aussieht.
Jetzt habe ich es vielleicht ein bisschen da im Giripeat.
Das heißt, es ist wirklich so und ich kann Posten-Item das ist mein Modell-Dings.
Wenn das jemand rausfindet und das posten kann, wäre ich auch dankbar.
Das heißt, wie funktioniert MG Repeat? Ist eine Direktive,
das heißt, es gibt genauso einen Code,
wie ich ihn voll gezeigt habe dafür,
der war wahrscheinlich sehr viel komplexer aus.
Okay, eigentlich, okay. Beide Fragen. Ich wollte nur sagen,
da wird es noch keiner gesagt, hatte ich von deinem Vortrag.
Einer der besten, ja nicht nur diesen Jahres, sondern,
würde ich sagen, auch mit in den letzten Jahren angezogen,
also seit ich quasi dabei bin, flüssig,
kotzt hier die Frage super beantworten.
Man kann total gefreut nicht mit aus dem Live-Poding,
das hast du
auch davor und hinbekommen
Fand ich total super. Also Chapeau. Vielen Dank.
Okay, bin ich fast schon ein bisschen verlegen.
An wen übergebe ich? Ich sag nur mal kurz was
. Wir können uns ja einfach ein bisschen unterhalten jetzt.
Parallele umschauen