Ich habe ein merkwürdiges Problem, das ich bisher nicht herausfinden konnte. Es ist sehr einfach, was wahrscheinlich ist, warum Ich habe Probleme mit ihmBackbone-Routen, die nicht aufgerufen werden
zuerst :), hier ist die Routing-Tabelle ...
routes: {
'': 'root', //called
'report': 'report', // called
'report/add': 'reportAdd', // not called
'report/print': 'reportPrint', // not called
'report/settings': 'reportSettings', // not called
},
Sie werden sehen, ich markiert, die diejenigen arbeiten und welche aren t. Das Problem läuft darauf hinaus, dass alle Unterrouten (d. H. report/add
) nicht übereinstimmen.
Backbone Geschichte richtig in main.js wie so genannt:
app.Router = new Router();
Backbone.history.start({ pushState: true });
Offensichtlich, dass an der richtigen Stelle ist, weil Routen sind nicht nur Teilrouten arbeiten. Ich habe die root
Optionen von Backbone.history
und die Stille parameter
alles ohne Glück versucht.
Ich stelle mir vor, es ist ein Konfiguration/Setup-Problem, aber ich konnte keine Antworten finden. Was mache ich falsch? Jede Hilfe wird sehr geschätzt.
Btw, ich benutze requirjs und Backbone Boilerplate, aber ich sehe nicht, wie das einen Unterschied machen würde.
UPDATE: Obwohl die Antwort technisch korrekt ist, ist das Problem mit Backbone Boilerplate. Eine Erläuterung hierzu finden Sie am Ende dieser blog post. Ich habe das gleiche Problem wie der erste Kommentator dort.
Das sollte gut funktionieren (http://jsfiddle.net/ambiguous/stBVC /), was machst du, dass die Geige nicht ist? –
Die stinkende "PushState" -Option war das Problem. Jetzt habe ich Hashes (# Bericht/hinzufügen) URLs, aber es funktioniert. Wie entferne ich die Hash-URLs und verwende pushState? – Brandon
Also '' funktioniert, wenn Sie 'pushState' nicht verwenden, aber' 'schlägt fehl, wenn Sie' pushState' verwenden? –