如何从 Vue-router 历史记录中删除(之前的条目)?
How to delete (the previous entry) from the Vue-router history?
我想删除 Vue-Router 中以前的历史条目,这可能吗?该解决方案必须在 Vue-Router 4.x 中工作,理想情况下也在 3.x 中工作。
我在这里实现的场景是用户:
pageA -> pageA:edit -> pageB
在页面 B 上点击“后退”时,我想转至页面 A(常规,非编辑)。
我知道我可以不用 推送 到页面 A:edit 页面的历史记录,只需执行 replace .然而,感觉更自然的是,当在 A:edit 页面中返回时,您将返回到常规的非编辑页面(已经检查了 beforeUpdate 路由守卫中的更改,因此已涵盖)。
实际上,API 提到无法清除(我从中推断也无法从中删除)会话历史记录。全文:
“无法清除会话历史记录或禁用非特权代码的 back/forward 导航。最接近的可用解决方案是 location.replace() 方法,它替换了当前项提供的 URL."
的会话历史记录
https://developer.mozilla.org/en-US/docs/Web/API/Window/history
除非有人知道办法,否则我们将不得不接受这是不可能的。
我想删除 Vue-Router 中以前的历史条目,这可能吗?该解决方案必须在 Vue-Router 4.x 中工作,理想情况下也在 3.x 中工作。
我在这里实现的场景是用户:
pageA -> pageA:edit -> pageB
在页面 B 上点击“后退”时,我想转至页面 A(常规,非编辑)。
我知道我可以不用 推送 到页面 A:edit 页面的历史记录,只需执行 replace .然而,感觉更自然的是,当在 A:edit 页面中返回时,您将返回到常规的非编辑页面(已经检查了 beforeUpdate 路由守卫中的更改,因此已涵盖)。
实际上,API 提到无法清除(我从中推断也无法从中删除)会话历史记录。全文:
“无法清除会话历史记录或禁用非特权代码的 back/forward 导航。最接近的可用解决方案是 location.replace() 方法,它替换了当前项提供的 URL."
的会话历史记录https://developer.mozilla.org/en-US/docs/Web/API/Window/history
除非有人知道办法,否则我们将不得不接受这是不可能的。