Backbone.js trigger-Funktion jedes mal, wenn Router eingesetzt wird
Frage mich, ob es eine einfache Möglichkeit zum auslösen einer benutzerdefinierten Funktion jedes mal, wenn ein Backbone.js router verwertet wird, ohne dass es in jedem der router-Funktionen. Jetzt ist mein script sieht so aus:
var AppRouter = Backbone.Router.extend({
routes: {
'' : 'index',
'test': 'test',
},
initialize: function() {
},
index: function() {
customFunction();
indexView.render();
},
test: function() {
customFunction();
testView.render();
},
});
Ich würde gerne so etwas wie dieses:
var AppRouter = Backbone.Router.extend({
routes: {
'' : 'index',
'test': 'test',
},
initialize: function() {
},
index: function() {
indexView.render();
},
test: function() {
testView.render();
},
change: function() {
customFunction();
}
});
Hat jemand irgendwelche Vorschläge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn eine route abgestimmt ist, die von der
Router
eineroute:[name]
- Ereignis ausgelöst wird, mit dem Namen der route abgestimmt, damit Klassen zu hören, um bestimmte route entspricht. Alle backbone-Objekte unterstützen auch dieall
Ereignis, das feuert, wenn ein Ereignis hat.So könnten Sie dieses zu binden, um die
all
Veranstaltung auf derRouter
, die immer dann ausgelöst, wenn der router führt eine routing.Wenn Sie daran interessiert waren, die route abgestimmt, es wird übergeben als ersten parameter an die Funktion gebunden.
Mehr details hier in der FAQ
{trigger: true}
als Teil Ihrer.navigate
nennen?.navigate
, aber das Ereignis wird ausgelöst, nachdem die Strecke beim laden der Seite.Mehr (neue) Rückgrat Art und Weise des Schreibens der Bindung:
besser hören wäre nur
route
wenn Sie mich Fragen; Daall
löst zwei Ereignisse aus, ich denke diese:Ich bin neu Rückgrat. Folgende Laurens Antwort, ich habe es geschafft zu rufen, die auf jeder route ändern, unten mit