Backbone.js – Änderungen in den Modellen

Mit Javascript können wir asynchrone Ereignisse verwenden, mit denen wir Aktionen generieren können. Aus diesem Grund verwenden wir sehr erfolgreich Frameworks wie jQuery , die eine Änderung im DOM-Baum abhören und eine Funktion ausführen können, während der Rest der Seite noch funktioniert.

Direkter Zugriff

Bevor wir uns mit den Änderungen im Modell befassen , ist der direkte Zugriff auf die Attribute ein zentrales Konzept, das wir verwalten müssen. Dies ist einem Attribut .attributes zu verdanken , das sich in dem Modell befindet, von dem wir unser erben, um es zu erstellen.

Wichtig
Bei der Zuweisung von Werten mit dieser Methode überspringen wir, um in unserem Modell zu detonieren. Wenn das Attribut {silent: true} übergeben wird, werden alle seine Ereignisse vollständig stummgeschaltet.

Sehen wir uns den folgenden Beispielcode an, auf den wir uns beziehen:

backbone_cambios_modelos.jpg

Wie wir im Beispiel sehen können, wird bei Verwendung von {silent: true} keine Änderung in unserem Modell festgestellt .

Hören Sie sich Änderungen im Modell an

Das Abhören von Änderungen in unseren Modellen kann sehr nützlich sein, da wir verschiedene Aktionen ausführen können, um unserer Anwendung eine größere Dynamik zu verleihen.

Im folgenden Beispiel wird eine Zeile gedruckt, die bei jeder Änderung eines Attributs den Wert des Attributs angibt. Im Initialisierungsmodell wird die Methode on aufgerufen und angegeben, dass es sich um das Änderungsereignis handelt es sollte funktionieren:

backbone_cambios_modelos2.jpg

Wenn wir diesen Code ausführen, erhalten wir für jede Änderung des Modells eine Zeile und zusätzlich eine Anfangszeile, wenn das Modell initialisiert wird.

Mal sehen, was uns das Ergebnis bringt:

backbone_cambios_modelos3.jpg
Wir sehen, dass wir zwei Zeilen erhalten, die besagen, dass sich das Modell geändert hat. Diese Menge stimmt mit dem zweimaligen Verwenden der Methode be () überein, um den Attributen des Modells einen Wert zu geben. Wir sehen auch, wie die Initialisierungszeile des Modells gedruckt wurde.

See also  Machen Sie Konsultationen mit Fluent in Laravel

Lauschen Sie den Änderungen eines bestimmten Attributs

Mit dieser Option können wir eine Aktion ausführen, wenn sich ein bestimmtes Attribut ändert . Damit können wir verschiedene Aktionen steuern, unabhängig davon, ob sich das eine oder das andere Attribut ändert. Auf diese Weise erzielen wir eine wesentlich dynamischere Ereignisunabhängigkeit in der Anwendung.

Sehen wir uns im folgenden Code an, wie wir das machen können:

 var Todo = Backbone.Model.extend ({ // Standardwerte der Attribute Standardeinstellungen: { Titel: '', abgeschlossen: '' }, initialize: function () { console.log ('Dieses Modell wurde initialisiert'); this.on ('change: title', function () { console.log ('Der Wert des title-Attributs hat sich geändert.'); }); }, setTitle: function (newTitle) { this.set ({title: newTitle}); } }); var myTodo = new All (); // Beide Formen detonieren das Änderungsereignis: myTodo.set ('title', 'Wir haben einen ersten Titel platziert.'); myTodo.setTitulo ('Wir haben den Titel geändert.'); myTodo.set ('erledigt', 'Löst das Ereignis nicht aus'); 

In der folgenden Abbildung können wir uns vorstellen, wie alles ist, nachdem wir den Code der vorherigen Übung ausgeführt haben:

backbone_cambios_modelos4.jpg
Wir können sehen, dass nur die Änderung des title-Attributs das Ereignis auslöst, wenn das vervollständigte Attribut geändert wird, passiert nichts und daher wird nichts von der Konsole gedruckt.

Am Ende dieses Tutorials haben wir bereits ein viel breiteres Wissen über die Verwaltung der verschiedenen Ereignisse unserer Anwendung in Backbone.js .

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *