Backbone.js - Änderungen an Modellen

Inhaltsverzeichnis
Javascript ermöglicht es uns, asynchrone Ereignisse zu verwenden, mit denen wir Aktionen generieren können, daher haben wir großen Erfolg bei der Verwendung von Frameworks wie jQuery die auf eine Änderung im DOM-Baum lauschen und eine Funktion ausführen kann, während der Rest der Seite noch arbeitet.
Direkter Zugang
Bevor wir sehen, wie mit Änderungen innerhalb des Modells umgegangen wird, ist ein Schlüsselkonzept, das wir handhaben müssen, der direkte Zugriff auf Attribute, dies ist einem Attribut zu verdanken .attribute das ist in dem Modell, von dem wir erben, um unsers zu machen.
WichtigBei der Zuweisung von Werten mit dieser Methode überspringen wir, dass sie in unserem Modell gezündet wird und beim Übergeben der Attribut {still: wahr} alle seine Ereignisse sind vollständig zum Schweigen gebracht.
Sehen wir uns den folgenden Beispielcode an, auf den wir uns beziehen:

Wie wir im Beispiel bei der Verwendung sehen können {still: wahr} es erkennt keine Änderung in unserem Modell.
Hören Sie Änderungen im Modell
Auf Veränderungen in unseren Modellen zu hören, kann sehr nützlich sein, da wir verschiedene Aktionen ausführen können und so unserer Anwendung mehr Dynamik verleihen.
Im folgenden Beispiel werden wir eine Zeile ausgeben, die jedes Mal angibt, wenn sich ein Attribut ändert, dann werden wir den Wert des Attributs ausgeben, dafür in der Methode initialisieren des Modells werden wir einen Anruf beifügen auf Methode und wir verraten euch was es in der Veranstaltung ist Veränderung was sollte funktionieren:

Wenn wir diesen Code ausführen, erhalten wir bei jeder Modelländerung eine Zeile und zusätzlich eine Initialzeile, wenn das Modell initialisiert wird.
Mal sehen, was uns das Ergebnis bringt:

VERGRÖSSERN

Wir sehen, dass wir zwei Zeilen erhalten, die sagen, dass sich das Modell geändert hat, dieser Betrag stimmt mit den beiden Zeiten überein, die wir verwenden Methode ser () Um den Attributen des Modells einen Wert zuzuweisen, sehen wir auch, wie die Modellinitialisierungszeile gedruckt wurde.
Hören Sie Änderungen an einem bestimmten Attribut
Dies Option ermöglicht es uns, eine Aktion auszuführen, wenn sich ein bestimmtes Attribut ändertWas wir damit erreichen können, ist, dass wir verschiedene Aktionen steuern können, egal ob sich ein Attribut ändert oder ein anderes, damit erreichen wir eine viel dynamischere Unabhängigkeit von Ereignissen in der Anwendung.
Sehen wir uns im folgenden Code an, wie wir dies tun können:
 var Todo = Backbone.Model.extend ({// Standardattributwerte defaults: {title: '', complete: ''}, initialize: function () {console.log ('This model has been initialized'); this.on ('change: title', function () {console.log ('The title attribute value has change.');});}, setTitle: function (newTitle) {this.set ({title: newTitle} );}}); var myTodo = neues Todo (); // Beide Formen lösen das Änderungsereignis aus: myTodo.set ('title', 'Wir haben einen initialen Titel platziert.'); myTodo.setTitulo ('Wir haben den Titel geändert.'); myTodo.set ('abgeschlossen', 'Löst kein Ereignis aus'); 

Im folgenden Bild können wir sehen, wie alles aussieht, nachdem wir den Code aus der vorherigen Übung ausgeführt haben:

VERGRÖSSERN

Wir können beheben, dass nur die Änderung des Titelattributs das Ereignis auslöst, beim Ändern des abgeschlossenen Attributs nichts passiert und daher nichts von der Konsole gedruckt wird.
Am Ende dieses Tutorials haben wir bereits ein viel breiteres Wissen über den Umgang mit den verschiedenen Ereignissen unserer Anwendung in Backbone.js.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave