Was ist der Vorteil der Marionette AppRouter+Controller über Rückgrat.Router?
Aus meinem Verständnis der Unterschiede ist die callback-Funktionen, die auf Ereignisse, die auf eine AppRouter
vorhanden sein sollte, in der Controller
, anstelle des gleichen Router-Objekt. Auch gibt es eine eins-zu-eins-Beziehung zwischen AppRouter & Steuerungen, die alle meinen code vom Router bewegt sich nun zum Controller, ich sehe nicht allzu viel Sinn? Also, warum verwenden Sie Sie? Ich muss etwas fehlen?
- Auch Sie können teilen Sie Ihre router in vielen kleinen Controller und befestigen Sie Sie an ein Modul für istance, um die Dinge organisiert... es ist einfach flexibler.
- Ich kann auch viele normale
Backbone.Routers
Recht? Sie erfüllen einen ähnlichen Zweck? - +1 - ich habe mich oft gefragt, in diesem
Du musst angemeldet sein, um einen Kommentar abzugeben.
So wie ich es sehe, ist die Trennung von Belangen:
Also im Grunde, wenn Sie auf Ihre app-Start-Seite, es sollte funktionieren ohne Router: Ihre Aktionen (z.B. Klick auf einen Menü-Eintrag) einfach Feuer die verschiedenen controller-Aktionen.
Anschließend fügen Sie über einen router mit den Worten "wenn diese URL aufgerufen wird, führen Sie diese controller-Aktion". Und in Ihrem controller, den Sie aktualisieren Sie die angezeigte URL mit
navigate("my_url_goes_here")
. Beachten Sie, Sie NICHT weitergebentrigger: true
.Für mehr Infos, check-out Derick blog-post http://lostechies.com/derickbailey/2011/08/28/dont-execute-a-backbone-js-route-handler-from-your-code/ (Absatz "Der "AHA!" Moment Über Router.Navigieren Sie das Zweite Argument")
Habe ich auch bereits das Thema mehr in die Länge Kostenlose Vorschau von meinem Buch auf Marionette. Siehe Seiten 32-46, hier: http://samples.leanpub.com/marionette-gentle-introduction-sample.pdf
Machte ich einige überschreiben für den router. Und derzeit nutzen es auf diese Weise (wie Chaplin):
https://gist.github.com/vermilion1/5525972