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?
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.
Wenn Sie an der übereinstimmenden Route interessiert waren, wird sie als erster Parameter an die gebundene Funktion übergeben.
Weitere Details hier in den FAQ
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.
Tags und Links javascript backbone.js