Im letzten Teil meiner Serie zu Knockout.js beschäftigen wir uns mit dem Mapping Plugin. In einigen der letzten Beispiele wurde mit JSON gearbeitet und so Daten simuliert, die vom Server stammen. Damit diese an eine View gebunden wurde, musste das ViewModel (welches Observables enthält) manuell aufgefüllt werden. Das Mapping Plugin bietet hier eine Unterstützung, die in diesem Anwendungsfall sehr viel Aufwand spart. Dieser Artikel zeigt wie es funktioniert.
In Jetzt Knockout.js lernen: Observables erweitern der Serie zu Knockout.js wurde gezeigt, wie Observables erweitert werden können. Als Beispiel diente eine Validierung auf Basis von einzelnen Observables. Nun hängen diese in der Regel aber in einem Formular zusammen, wodurch eine Gesamtvalidierung und eine damit verbundene Freischaltung von Schaltflächen bzw. weiteren Interaktionsmöglichkeiten einhergeht. Dieser Beitrag greift das Validierungsbeispiel auf und erweitert es im Rahmen dieser Anforderung.
Im vergangenen Teil der Serie zu Knockout.js wurden benutzerdefinierte Bindungen behandelt. Dieser Teil beschäftigt sich nun damit, wie Observables auf eigene Bedürfnisse hin erweitert werden können. Knockout.js unterstützt das Lesen und Schreiben von Werten, als auch Benachrichtigungen bei Wertänderungen. In zahlreichen Fällen (zum Beispiel Validierung) möchte man dieses Verhalten jedoch erweitern. Dieser Beitrag zeigt, wie dies umgesetzt werden kann.
In den vorangegangenen drei Teilen der Serie über Knockout.js haben wir uns mit einer generellen Einführung, einer beispielhaften Bindung an Formulare und Listen als auch der Verwendung von Vorlagen beschäftigt. Dieser Teil beschäftigt sich nun mit der Möglichkeit der benutzerdefinierten Bindungen. So wird gezeigt, wann diese sinnvoll verwendet werden und wie sie denn überhaupt funktionieren.
In meiner Serie zu Knockout.js habe ich bereits gezeigt, was diese Bibliothek leisten kann. Nichts liegt also näher, als das eigene Blog ein wenig auf Vordermann zu bekommen. Stein des Anstoßes ist die Suche, die bei BlogEngine.NET sehr altertümlich wirkt und in meinem neuen Design daher bis dato nicht berücksichtigt wurde. Mit Knockout.js sollte eine verbesserte Variante schnell implementiert sein. Da die Suchergebnisse durch diverse Bots auch nicht indiziert werden müssen, kann Knockout.js bedenkenlos eingesetzt werden. Hier mein Erfahrungsbericht.
Weiter geht es mit Knockout.js. Nachdem ich nun über den Einstieg gebloggt, als auch ein Beispiel bezüglich Formulare und Listen gezeigt habe, möchte ich mich mit diesem Beitrag mit dem Thema Templates beschäftigen und ein Beispiel implementieren, welches den Umgang damit aufzeigt. Vorlagen sind gerade bei wiederkehrenden Darstellungen (Listen etc.) eine hervorragende Sache, gibt es doch nur eine Stelle diese zu pflegen/ändern.
Aus der WPF-Welt kommend ist gerade das Thema MVVM und Datenbindung sehr interessant für mich (weil dadurch auch etwas verwöhnt). Mit Knockout.js ist dies nun auch in JavaScript komfortabel möglich. Aufbauend auf den einführenden Beispielen und den von mir bereitgestellten Slides habe ich mich gefragt, wie nun der Umgang mit Listen und Formularen stattfinden kann und gleich in die Tasten gegriffen, um dies zu testen. Das Resultat ist ein Beispiel und ein paar Erkenntnisse, die ich teilen möchte.
Knockout.js ist eine JavaScript Bibliothek, die es ermöglicht, Datenbindungen durchzuführen. Dadurch ist eine saubere Trennung zwischen ViewModel und View (als auch Model) möglich. Wer Erfahrung mit WPF und/oder Silverlight hat, der kennt die Vorteile bereits, wird auch hier das Pattern Model-View-ViewModel (MVVM) verfolgt. Um mir selbst einen Überblick zu Knockout zu verschaffen, habe ich grundlegende Informationen und kleinere Beispiele in einer Präsentation zusammen gefasst, die ich an dieser Stelle teilen möchte.
Ein Schicksal, das erschüttert. Ein Buch, das Mut macht. Es gibt wohl nichts Tragischeres, als von einem Moment auf den anderen seine Familie zu verlieren. Barbara Pachl-Eberhart hat es erlebt: Im März 2008 starben ihr Mann und ihre beiden kleinen Kinder durch einen Verkehrsunfall. In diesem Buch schildert die Autorin, wie sie sich ihrem Schicksal stellte. Wie sie mit Mut und bedingungsloser Offenheit den Weg in ein neues Leben fand. Und wie das starke innere Band zu ihren verstorbenen Lieben ihr dazu die Kraft gab. Ihr ergreifender Bericht zeugt von menschlicher Größe und einem unerschütterlichen Glauben an den Sinn des Lebens.
Ich muss ja gestehen, dass ich nicht unbedingt der begabteste Designer bin. Vielleicht gefallen mir aber auch deswegen schlichte Designs wesentlich besser als aufwändige. Da mir von Zeit zu Zeit das Aussehen meines Blogs auf die Nerven geht, hatte ich mir für 2012 vorgenommen, daran zu schrauben. Schneller als gedacht fand der erste Schwung der Umstellung statt. Aber was genau hat mich gestört und warum habe ich mich für eine bestimmte Lösung entschieden?