Was ist Knockout.js?
Knockout ist eine großartige Javascrip-BibliothekEs hilft Ihnen, eine textreiche Benutzeroberfläche mit guten Darstellungs- und Bearbeitungsmöglichkeiten zu erstellen, wobei nur ein klares und sauberes zugrundeliegendes Datenmodell verwendet wird. Immer dann, wenn Ihre lokalen UI-Inhalte automatisch aktualisiert werden müssen (z. B. je nach Änderungen im Benutzerverhalten oder externen Datenquellen), kann KO einfach implementiert und sehr einfach zu warten sein.
Wichtige Merkmale von KO:
Elegante Abhängigkeitsverfolgung – Immer wenn sich das Datenquellenmodell ändert, kann es automatisch den angegebenen Inhalt Ihrer Benutzeroberfläche aktualisieren. Deklarative Bindung – Es bindet deine Benutzeroberfläche auf einfache Weise an das Datenquellenmodell, und du kannst jede verschachtelte Struktur-Vorlage verwenden, um eine komplexe dynamische Schnittstelle zu erstellen. Gute Skalierbarkeit – ein benutzerdefiniertes Verhalten kann mit ein paar einfachen Codezeilen implementiert werden, um als neue Deklaration zu binden.
Weitere Vorteile:
Reine Javascrip{filtering}t-Bibliothek – kompatibel mit jeder Server- und Client-Technologie. Es lässt sich gut auf bestehende Anwendungen anwenden – ohne Änderungen an der Hauptarchitektur des Programms. Einfachheit – nur 13.000 nach Gzip-Kompression. Kompatibel mit jedem größeren Browser (z. B. 6+, Firefox 2+, Chrome, Safari und andere) Ein umfassender Satz von Spezifikationen (mit verhaltensorientierter Entwicklung) – das bedeutet, dass sie leicht in neuen Browsern oder Plattformen verifiziert werden können. Entwickler, die mit Ruby on Rails, Asp.net MVC oder anderen MVC-Technologien vertraut sind, könnten es als MVC-Echtzeitformular mit deklarativer Syntax ansehen. Mit anderen Worten, man kann KO als eine Möglichkeit sehen, eine Benutzeroberfläche für die Benutzeroberfläche zu erstellen, indem man JSON-Daten bearbeitet... Was auch immer es für dich tut.
Wie benutzt man es?
Der schnellste und spaßigste Weg zum Einstieg ist interaktive Anleitung, und sobald du die grundlegendsten Techniken beherrschst und jede Online-Instanz gelernt hast, bist du bereit, an deinen Projekten zu arbeiten.
Konkurrieren KO und Jquery (Prototyp usw.) miteinander oder können sie zusammen verwendet werden?
Jeder liebt Jquery! Früher mussten wir verschiedene inkonsistente DOM-Objektmanipulations-API-Methoden ertragen, und das Aufkommen von Jquery ist eine großartige Alternative zu den umständlichen Frameworks der Vergangenheit, da es flexibel und einfach zu bedienen ist. Jquery ist ausgezeichnet und einfach zu bedienen für die Manipulation und Ereignisbehandlung von Webseitenelementen, während KO ein anderes Problem löst.
Wenn deine UI-Oberfläche etwas komplexer ist und einige der gleichen Verhaltensweisen enthält, wird die Benutzeroberfläche komplexer und schwieriger sein, als du denkst, und die Wartung wird ziemlich teuer sein. Betrachten wir das Beispiel, eine Liste von Elementen in einer Tabelle anzuzeigen, die Anzahl der Listen in der Tabelle anzugeben und die Schaltfläche "Hinzufügen" zu aktivieren, wenn die Anzahl der Artikellisten kleiner als 5 ist, ansonsten deaktiviert. Jquery hat kein grundlegendes Datenmodellkonzept, daher musst du, wenn du die Anzahl der Projektlisten ermitteln willst, aus den Tabellen-/tr-/Div-Zahlen ableiten. Wenn du die Datenmenge in bestimmten SPANS anzeigen musst, solltest du auch daran denken, den Text des SPAN beim Hinzufügen neuer Daten zu aktualisieren. Natürlich musst du auch daran denken, dass du bei der Gesamtzahl >=5 die Hinzufügen-Schaltfläche deaktivieren musst. Wenn du dann die Delete-Funktion implementieren willst, musst du darauf hinweisen, welches DOM-Element nach dem Anklicken geändert werden muss.
Wie unterscheidet es sich, das mit Knockout zu machen?
Mit K.O. wird alles sehr einfach. Es ermöglicht Ihnen, die Komplexität Ihres Projekts einfach zu skalieren, ohne sich um die daraus resultierenden Dateninkonsistenzen sorgen zu müssen. Es wandelt einfach deine Daten in ein Javascrip{filter}t-Array um und verwendet dann foreach, um das Datenarray an eine Tabelle oder eine Reihe von Divs auf der Seite zu binden. Wann immer sich das Datenarray ändert, reagiert die Benutzeroberfläche automatisch auf die Änderung (du musst nicht angeben, wie eine neue Zeile eingefügt wird oder wo), und der Rest ist die Datensynchronisation der Benutzeroberfläche. Zum Beispiel können Sie folgenden SPAN deklarieren, um die Datenmenge anzuzeigen:
Das wars! Du musst keinen Code schreiben, um es zu aktualisieren, das Update hängt von Änderungen am Array myItems ab. Ähnlich hängt das Aktivieren und Deaktivieren der Hinzufügen-Schaltfläche von der Länge des Arrays myItems ab, wie folgt:
Danach musst du, wenn du die Funktion "Löschen" implementieren musst, nicht mehr angeben, wie die UI-Elemente manipuliert werden, sondern nur das Datenmodell modifizieren.
Zusammenfassung: KO hat nicht die Absicht, mit jQuery und anderen ähnlichen DOM-Manipulations-Frameworks zu konkurrieren. KO bietet eine hochrangige Möglichkeit, das Datenmodell mit der Benutzeroberfläche der Benutzeroberfläche zu korrelieren.KO hängt nicht von jQuery selbst ab, aber du kannst jQuery zusammen verwenden, Lebendige und sanfte UI-Änderungen erfordern die Verwendung von jQuery.
Betriebsmittel:
http://www.aizhengli.com/knockoutjs/50/knockout.html
http://knockoutjs.com/
|