2

由于骨干没有做大多数事情的方式,我对很多事情感到困惑。其中一件事是浏览我的应用程序的正确方法。

我意识到 BB 路由器有一个 '.navigate' 方法,可用于推送 url 和触发路由。现在,由于我的应用程序有超过 1 个路由器,我不确定在一个或其他路由器上调用“.navigate”之间有什么区别。

这是我的路由器

new Etaxi.Routers.System()
new Etaxi.Routers.Header()
new Etaxi.Routers.Videos()
new Etaxi.Routers.News()

现在我可以做

router = Etaxi.Routers.System()
// or i could do
router = Etaxi.Routers.Header()

router.navigate(url)

我用于全球应用导航的路由器有什么不同吗?这对我来说似乎很奇怪。

4

1 回答 1

10

您调用哪个路由器没有区别。事实上,当您有多个路由器时,我建议不要调用特定的路由器。或者,就此而言,根本不用费心打电话给路由器。如果您查看路由器navigate方法的源代码,您会发现它只是传递到Backbone.history.navigate. 所以直接调用它:

Backbone.history.navigate(url)

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

我几乎在所有应用程序中都使用了多个路由器,这就是我调用该navigate方法的方式。它工作得很好,并且避免了调用哪个路由器的混淆。

于 2012-08-25T12:47:47.137 回答