【问题标题】:Backbone.js triggering route on navigate with pushState=true?使用 pushState=true 导航时 Backbone.js 触发路由?
【发布时间】:2012-09-17 11:06:16
【问题描述】:

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

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

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

myRouter.navigate("?chapter=1")

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

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

【问题讨论】:

  • myRouter.navigate("?chapter=1",{trigger:true}); 应该可以工作。你试过了吗?

标签: backbone.js pushstate


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2018-11-06
    • 2017-09-03
    • 1970-01-01
    相关资源
    最近更新 更多