1

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

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

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

myRouter.navigate("?chapter=1")

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

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

4

1 回答 1

0

博士是正确的,改变它来myRouter.navigate("?chapter=1", {trigger: true});解决你的问题。

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

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

于 2013-01-23T01:08:09.453 回答