铁路由器重定向而不杀死后退按钮功能

时间:2014-10-21 12:58:21

标签: meteor iron-router html5-history

我在一个相当复杂的应用程序中使用Iron Router,并且有一些路由将用户重定向到其他内部路由(例如,"/"始终重定向到"/dashboard")。

我们一直在处理这个问题,只需添加例如: Router.go("/dashboard"),或({混乱但同样无效] this.redirect("/dashboard")到第一条路线的action挂钩。

问题在于,这会破坏浏览器的后退按钮:您会稍稍返回具有重定向操作的路径,然后将您重定向回原来的位置。

  1. 最好的方法是什么?
  2. 为什么我们不应该仅仅替换而不是history.state默认推送this.redirect()

2 个答案:

答案 0 :(得分:6)

我们的应用程序遇到了同样的问题。在0.9.4(可能还有一些早期版本)中,您可以添加{replaceState: true}作为Router.go的最后一个参数。有关详细信息,请参阅this issue。请注意,在撰写本文时,它看起来还没有集成到1.0.x代码中。

答案 1 :(得分:1)

对于任何仍在疑惑的人,此问题的修复计划安排在下一版Iron Router:https://github.com/EventedMind/iron-router/issues/764

在那里你可以在你的路由钩子中使用this.redirect(),这将默认取代状态