我在一个相当复杂的应用程序中使用Iron Router,并且有一些路由将用户重定向到其他内部路由(例如,"/"
始终重定向到"/dashboard"
)。
我们一直在处理这个问题,只需添加例如: Router.go("/dashboard")
,或({混乱但同样无效] this.redirect("/dashboard")
到第一条路线的action
挂钩。
问题在于,这会破坏浏览器的后退按钮:您会稍稍返回具有重定向操作的路径,然后将您重定向回原来的位置。
history.state
默认推送this.redirect()
?答案 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(),这将默认取代状态