Backbone.js使用pushState = true触发导航路由?

时间:2012-09-17 11:06:16

标签: backbone.js pushstate

我使用的是Backbone 0.92,与Chrome相比,我在FF中遇到了不同的路由器行为。

在Firefox中,导航到此网址不会触发“defaultRoute”:

Backbone.history.start({pushState: true});

myRouter.navigate("?chapter=1")

//Router
routes: {
    '*path':        'defaultRoute',
}

在Chrome中,导航会触发整个页面的刷新。 可能是什么原因?

1 个答案:

答案 0 :(得分:0)

博士是正确的,将其更改为myRouter.navigate("?chapter=1", {trigger: true});解决您的问题。

然而,值得注意的是,这实际上是一个chrome问题而不是firefox问题。 Chrome出于某种原因似乎预加载了路由器URL,这意味着路由器方法在没有指定您想要的情况下执行。

无论哪种方式,添加{trigger: true}是执行导航的预期方式,并将解决您的问题。