2016-04-27 18 views
0

Ich bin neu im Backbone. Ich habe geschaut, dass es in Saiku verwendet wurde. Ich kam über die untere Zeile.Trigger-Ereignis in Backbone.js und Saiku

Saiku.session.trigger('workspace:new', { workspace: this }); 

Ist 'workspace: new' ein Ereignis? Wie erkennt das Rückgrat es als Ereignis an?

Antwort

1

Kurze Antwort: ja, ist ein Ereignis.

Backbone verfügt über mehrere integrierte Ereignisse, auf die Sie achten können. Sie können jedoch auch benutzerdefinierte Ereignisse auslösen, wie dies bei diesem Code der Fall ist. Das Ereignis wird nur durch eine Zeichenfolge identifiziert (in diesem Fall "workspace:new"). Wenn Sie trigger für ein Objekt aufrufen, das von Backbone's Event Module erbt, tritt dieses Ereignis auf. Als zweiter Parameter zu trigger können Sie einige Daten über das Ereignis übergeben, alles, auf das Sie über die Ereignisbehandlungsfunktion zugreifen können.

Dann, normalerweise woanders, wird Code auf dieses Ereignis warten. Dies geschieht durch Aufruf der Methoden .on oder .listenTo.

Hier ist ein einfaches Beispiel: (Sehen sie in Aktion on JSBin)

var model = new Backbone.Model(); 

model.on('my-event', function (data) { 
    console.log("my-event happened!"); 
    console.log(data); 
}); 


model.trigger('my-event'); 
model.trigger('my-event', 'some-data'); 
model.trigger('my-event', { anything: 'works' }); 
+0

Danke für die Antwort, das war hilfreich! – SDJ