Backbone.js Trigger-Funktion jedes Mal, wenn Router verwendet wird

7

Ich frage mich nur, ob es bei jedem Einsatz eines Backbone.js-Routers eine einfache Möglichkeit gibt, eine benutzerdefinierte Funktion auszulösen, ohne sie in jede Router-Funktion einfügen zu müssen. Jetzt sieht mein Skript so aus:

%Vor%

Ich hätte gerne so etwas:

%Vor%

Hat jemand irgendwelche Vorschläge?

    
hampusohlsson 14.03.2012, 14:39
quelle

3 Antworten

19

Sobald eine Route mit Router übereinstimmt, wird ein route:[name] -Ereignis mit dem Namen der übereinstimmenden Route ausgelöst, damit die Klassen bestimmte Routenzusammenfassungen abhören können. Alle Backbone-Objekte unterstützen auch das Ereignis all , das ausgelöst wird, wenn ein Ereignis eintritt.

Sie können also davon Gebrauch machen, um an das all -Ereignis im Router zu binden, das immer dann ausgelöst wird, wenn der Router routet.

%Vor%

Wenn Sie an der übereinstimmenden Route interessiert waren, wird sie als erster Parameter an die gebundene Funktion übergeben.

Weitere Details hier in den FAQ

    
obmarg 14.03.2012, 14:49
quelle
9

Eine (neuere) Backbone-Methode zum Schreiben der Bindung ist:

%Vor%

ein besseres hören wäre nur route , wenn du mich fragst; Weil all zwei Ereignisse auslöst, denke ich Folgendes:

  

"route: [name]" (params) - Wird vom Router ausgelöst, wenn eine bestimmte Route ausgewählt ist   abgestimmt.
"route" (route, params) - Wird vom Router bei jeder Route ausgelöst   wurde angepasst.

    
Laurens Kling 18.08.2014 18:55
quelle
0

Ich bin neu im Rückgrat. Nach Laurens Antwort gelang es mir, jede Routenänderung mit

aufzurufen %Vor%     
Terry 20.02.2015 15:47
quelle

Tags und Links