【问题标题】:How do I disable backbone history but still allow hash-based routing?如何禁用主干历史记录但仍允许基于哈希的路由?
【发布时间】:2012-03-09 10:34:24
【问题描述】:

假设我做了以下事情:

  • 点击主页上的链接 (/) 并转到 /posts/1
  • 触发事件,进入主干路由/posts/1/#/1/edit
  • 我点击返回

我需要让用户最终回到主页 (/) 而不是回到 /posts/1

所以我需要允许主干哈希路由工作但不修改历史记录。 我个人更愿意保留历史记录,但这是项目的要求。

【问题讨论】:

    标签: backbone.js browser-history


    【解决方案1】:

    最新版本的 Backbone (0.9.x) 可以触发路由,但不会将其添加到历史记录中。

    请参阅 Backbone.Router#navigate 了解 replace:true 选项。

    基本上,只需在您的路由器上调用 .navigate,使用 trigger:true (触发路由)和 replace:true (防止它进入历史记录)

    app.navigate('posts/1/edit',{trigger:true, replace: true});
    

    这是一个展示它的 jsfiddle:http://jsfiddle.net/7Z6ju/1/

    • 点击“帖子 1”进入帖子 1 页面。
    • 然后,单击“编辑”转到 编辑页面。
    • 然后,点击返回按钮 - 你应该重新打开 家。

    【讨论】:

      猜你喜欢
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      • 2012-01-29
      相关资源
      最近更新 更多