【发布时间】:2012-03-09 10:34:24
【问题描述】:
假设我做了以下事情:
- 点击主页上的链接 (/) 并转到 /posts/1
- 触发事件,进入主干路由/posts/1/#/1/edit
- 我点击返回
我需要让用户最终回到主页 (/) 而不是回到 /posts/1
所以我需要允许主干哈希路由工作但不修改历史记录。 我个人更愿意保留历史记录,但这是项目的要求。
【问题讨论】:
标签: backbone.js browser-history
假设我做了以下事情:
我需要让用户最终回到主页 (/) 而不是回到 /posts/1
所以我需要允许主干哈希路由工作但不修改历史记录。 我个人更愿意保留历史记录,但这是项目的要求。
【问题讨论】:
标签: backbone.js browser-history
最新版本的 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/
【讨论】: