Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

AngularJS 1.3 Grundkurs

Dependency-Injection-Informationen schützen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Definition einer entsprechenden Eigenschaft schützt die Dependency-Injection-Informationen bei der Minimierung einer Datei, in der sich eine als Controller registrierte Klasse befindet.
02:40

Transkript

Ein Controller im AngularJS-Umfeld kann auch dadurch registriert werden, dass mit der Methode "controller" nicht mehr einfach nur eine Konstruktorfunktion hier übergeben wird, jetzt sondern wirklich eine komplette Klasse, wie wir in diesem Beispiel hier sehen können. Wenn wir hier eine komplette Javascript Klasse übergeben, haben wir das Problem, dass wir auch dann eventuell mit Dependency-Injections arbeiten wollen, und wenn wir minimiert arbeiten, haben wir das Problem, dass dann die Information für die Dependency-Injection verloren geht. So seht ihr hier beispielsweise bei der Funktion, dass aus Scope und Element, die Kürzung f und e eingesetzt wurde. Das ist im Grunde genommen auch vollkommen legitim und auch nicht schlimm. Ich muss nur einen Weg finden jetzt, wie trotz der Minimierung, im Angular-Umfeld begriffen wir, dass ich hier per Dependency-Injection den Scope und das Element brauche. Und das mache ich ganz einfach, indem ich mir die Userklasse hier schnappe, und dadrauf dann das "inject", das mit einer Angular-Eigenschaft ist, drauf definiere. Angular selber macht nun folgendes: wenn es diese Klasse jetzt gefunden hat, und es merkt, hey, ich habe hier keine Funktionen, die als Konstruktor dienen, sondern es wurde mir direkt eine Klasse übergeben, dann begreift Angular, dass bevor es dann mit new das Objekt instanziiert, dass es schaut, ob es eine Injecteigenschaft gibt. Sollte es diese Inject-Eigenschaft geben, erwartet Angular hier drin eine Liste, und alle in dieser Liste befindlichen Eigenschaften, die hier als Zeichenkette übergeben werden, werden dafür benutzt, dass wir Dependency-Injection der Konstruktor oder die Konstruktorfunktion exakt damit dann gestartet wird. Das hätte also in meinem Fall zufolge, dass dann über "new" eine Instanz von Userkontrolle erzeugt wird, und es wird via Dependency-Injection das Scope und das Element Objekt übergeben. Gucke ich mir das Ganze nun minimiert an, erkennen wir auch, dass wir jetzt hier die Scope- und die Elementinformation nicht verlieren. Das ist absolut legitim und absolut da. Und teste ich das Ganze jetzt hier, werdet ihr auch sehen, dass das an dieser Stelle wunderbar geht. Das heißt, das gesamte Konstrukt funktioniert nach wie vor. Hätte ich jetzt dieses Inject weggelassen, dann werdet ihr sehen, dass ich eine Fehlermeldung bekomme, nämlich: hey, ich kenne kein "f", und dieses "f" ist halt exakt die Abkürzung für den Scope, den ich hier verwendet hatte. Und packe ich Inject wieder rein, sieht die ganze Welt wieder glücklich aus, und meine Applikation funktioniert wieder. In diesem Video haben wir also gelernt, wie wir die Eigenschaft Inject im AngularJS-Umfeld nutzen können, um Dependency- Information nicht zu verlieren.

AngularJS 1.3 Grundkurs

Legen Sie mit AngularJS moderne, anspruchsvolle Webprojekte auf der Basis von HTML, CSS und JavaScript an.

4 Std. 15 min (74 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
AngularJS AngularJS 1.3
Exklusiv für Abo-Kunden
Erscheinungsdatum:19.11.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!