2

我目前已经为我的 Backbone 应用程序(非Marionette)定义了多个路由器。

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

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

如您所见,我正在使用变量进行导航。所以我必须知道要调用哪个路由器。是否可以以某种方式将代码组织到单独的类中,但是当我想导航时,只需调用appRouter.navigate "something"而不需要知道它是哪个路由器?Marionette 建议不要使用大型路由器,但没有推荐的方式/示例

4

1 回答 1

9

如果您查看 Backbone 的注释源代码,您会注意到调用myRouter.navigate只不过是一个转发方法调用Backbone.history.navigate

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

所以没有必要为导航方法跟踪路由器。您可以直接调用 Backbone.history.navigate。

Backbone.history.navigate "auth/login"

于 2012-07-01T17:09:27.133 回答