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

eph*_*mer 4 html5-history meteor iron-router

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

我们一直在处理这个问题,只是在第一条路线的钩子上添加eg Router.go("/dashboard")或(容易混淆但同样无效).this.redirect("/dashboard")action

问题是,这会破坏浏览器的后退按钮:您将稍纵即退回到具有重定向操作的路径上,然后将重定向回到您所在的位置.

  1. 围绕这个最好的方法是什么?
  2. 有没有什么好的理由我们不应该只是替换而不是history.state默认推送this.redirect()

Dav*_*don 6

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

  • 我相信这应该有效.好像你需要第二个参数.`Router.go('/ dashboard',{},{replaceState:true});` (3认同)