Backbone.js – Erweiterte Ereignisse

Wenn wir über fortgeschrittene Ereignisse sprechen, verweisen wir auf die Möglichkeiten, die Backbone.js bietet, um mehr daraus zu machen. Wir können im Verlauf unserer Anwendung die Verknüpfung eines Ereignisses mit einem Objekt aufheben und Objekte festlegen, die für das Abhören eines Objekts verantwortlich sind Durch verschiedene Aufrufe eines Ereignisses entfällt die logische Belastung, diese Verhaltensweisen separat programmieren zu müssen.

Verknüpfung eines Ereignisses mit der Methode .off () aufheben

Die Entkopplung eines Ereignisses ermöglicht es uns, die Rückruffunktion nicht auszuführen, nachdem dies geschehen ist. Dies hat viele logische Anwendungen, die es uns ermöglichen, eine bessere Kontrolle in unseren Anwendungen auszuüben.

Um die Verknüpfung zu lösen, unterstützen wir die .off () -Methode, die auf ähnliche Weise wie die .on () -Methode aufgerufen wird. Wir übergeben das Ereignis, indem wir es von dem Objekt aus aufrufen, das bereits über die Funktionen von verfügt Backbone.Events . Sehen wir uns den folgenden Beispielcode an:

 var ourObj = {}; // Wir erstellen das Mixin, mit dem wir der Backbone-Klasse zuordnen können _.extend (ourObj, Backbone.Events); // Wir erstellen das benutzerdefinierte Ereignis nuestroObj.on ('bailar', Funktion (msg) { console.log ('unser Ereignis ist' + msg); }); // Wir detonieren das benutzerdefinierte Ereignis mit .trigger () ourObj.trigger ('Tanz', 'ein Tanz'); // Wir heben die Verknüpfung der Veranstaltung auf ourObj.off ('Tanz'); // Beim erneuten Aufruf passiert nichts ourObj.trigger ('Tanz', 'ein neuer Tanz'); 

Wie wir im Code sehen, führen wir zuerst die gesamte Funktionsverknüpfungsarbeit aus, erstellen ein personalisiertes Ereignis und rufen es sogar zum ersten Mal auf. Anschließend teilen wir Ihnen mit der .off () -Methode mit , dass das Ereignis nicht mit dem verknüpft wird Objekt und schließlich, um es zu überprüfen, rufen wir zurück zu dem Ereignis, wo nichts mehr passiert.

See also  So deaktivieren Sie E-Mail-Benachrichtigungen oder Facebook-Benachrichtigungen

Dies können wir in der folgenden Abbildung sehen, in der wir in der Javascript- Konsole von Google Chrome den Code des Beispiels ausführen:
backbone_eventavanz.jpg
Hören Sie auf Ereignisse

Diese Funktionalität ermöglicht es uns, ein Objekt zum “Abhören” eines anderen zu verwenden, wobei wir “Abhören” als den Vorgang definieren können, bei dem das Objekt, das “zuhört”, die Aktionen des Objekts “gehört” wahrnimmt, also wenn das letzte detoniert Bei einem Ereignis kann das erste die entsprechende Rückruffunktion aufrufen. Mal sehen, worauf wir uns mit dem folgenden Code beziehen:

 var a = _.extend ({}, Backbone.Events); var b = _.extend ({}, Backbone.Events); var c = _.extend ({}, Backbone.Events); // füge ein Objekt (a) hinzu, das die Ereignisse von (<img src = 'http: //www.solvetic.com/public/style_emoticons/default/cool.png' class = 'bbc_emoticon' alt = 'B) abhört "/> und c) a.listenTo (b, 'event1', function (event) { console.log ("Ein Ereignis findet statt in (<img src = 'http: //www.solvetic.com/public/style_emoticons/default/cool.png' class = 'bbc_emoticon' alt = 'B)' />") ; }); a.listenTo (c, 'event2', function (event) { console.log ("ein anderes Ereignis passiert in (c)"); }); // Wir zünden das Ereignis b.trigger ('event1'); // Drucken Sie das Protokoll // Wir entfernen den Listener a.stopListening (); // nichts passiert mehr b.trigger ('event1'); c.trigger ('event2'); 

Hier verknüpfen wir einfach die Operation von Backbone.Events mit drei Objekten. Das Objekt “a” ist dasjenige, das abhört, was in den anderen Objekten passiert. Dann definieren wir unsere benutzerdefinierten Ereignisse und detonieren das Ereignis in Objekt “b” des Objekts “A” führt den entsprechenden Rückruf aus.

Wichtig
Wir können das Listening auch mit der stopListening () -Methode für das Objekt “a” beenden, wenn dieser Vorgang ausgeführt wird und keine weiteren Aufrufe mehr auftreten.

Um dieses Tutorial zu beenden, sehen wir uns die Ausgabe unseres Codes in der Javascript- Konsole von Google Chrome an :

backbone_eventavanz2.jpg

See also  Steam-Fehlerinhaltsdatei gesperrt Lösung

administrator

Leave a Reply

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