2012-07-01 2 views
2

В настоящее время я определил многопользовательские маршрутизаторы для моего приложения Backbone (не Marionette еще).Несколько маршрутизаторов в базовой линии (возможно, Marionette) app

authRouter = new AuthRouter() 
usersRouter = new UsersRouter() 
... 

# then to use them 
authRouter.navigate "auth/login" 
usersRouter.navigate "users/changePassword" 

Как вы можете видеть, я использую переменные для навигации. Поэтому я должен знать, какой маршрутизатор позвонить. Возможно ли каким-то образом организовать код на отдельные классы, но когда я хочу перемещаться, просто позвоните appRouter.navigate "something", вместо того, чтобы знать, какой именно маршрутизатор? Марионетка рекомендует не имеющие большие маршрутизаторы, но не рекомендуемый способ/пример этого

ответ

9

Если вы посмотрите на аннотированный исходный код для Backbone, вы заметите, что вызов myRouter.navigate это не более чем способ переадресации вызова Backbone.history.navigate

http://backbonejs.org/docs/backbone.html#section-114

Таким образом, нет никакой необходимости следить за маршрутизаторами для метода навигации. Вы можете напрямую вызвать Backbone.history.navigate.

Backbone.history.navigate "auth/login"

Смежные вопросы