我想删除 Vue-Router 中以前的历史记录条目,这可能吗?该解决方案必须在 Vue-Router 4.x 中工作,最好也能在 3.x 中工作。
我在这里实现的场景是用户执行以下操作:
pageA -> pageA:edit -> pageB
Run Code Online (Sandbox Code Playgroud)
当在 pageB 上点击“返回”时,我想转到 pageA(常规,非编辑)。
我知道我可以不推送页面A:edit 页面的历史记录,而是简单地进行替换。然而,感觉更自然的是,当返回 A:edit 页面时,您将返回到常规非编辑页面(beforeUpdate 路由防护中已经检查了更改,因此已涵盖)。
实际上,API 提到不可能清除(我从中推断也可以从中删除)会话历史记录。全文:
“没有办法清除会话历史记录或禁用非特权代码的后退/前进导航。最接近的可用解决方案是 location.replace() 方法,该方法用提供的 URL 替换会话历史记录的当前项目。”
https://developer.mozilla.org/en-US/docs/Web/API/Window/history
除非有人知道方法,否则我们将不得不承认这是不可能的。
| 归档时间: |
|
| 查看次数: |
11359 次 |
| 最近记录: |