假设我有以下代码:
...
routes: {
'someurl:{param}': {
action: 'action',
before: 'beforeaction'
}
},
...
beforeaction: function(param, action) {
if (!param) {
action.stop();
this.redirecTo('someurl:defaultparam');
}
action.resume();
}
...
因此,当我打开时host/someurl
,应用程序会将我重定向到host/someurl:defaultparam
. 这部分效果很好。但是我之前无法host/someurl
使用“返回”浏览器按钮返回 url,因为当我返回到 host/someurl 时,应用程序会host/someurl:defaultparam
再次将我重定向到。我试着redirectTo
改成
history.replaceState(..., host/#someurl:defaultparam);
history.go(0);
但是每次重定向都会重新加载页面。
那么,如何使用 ExtJs redirectTo 并替换历史中的 url 呢?
更新:我更换history.go(0);
了this.redirectTo('someurl:defaultparam', true);
. 现在我连续两次或更多次重定向到某个网址时遇到问题