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:
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:
Mal sehen, was uns das Ergebnis bringt:
VERGRÖSSERN
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
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