【发布时间】:2020-12-28 08:36:14
【问题描述】:
我正在使用 Vue 2.x。
有一个帖子页面。当我单击帖子页面中的按钮时,我会转到编辑页面。当我点击编辑页面上的提交时,我使用this.$route.replace(link_to_post_page)从历史堆栈中删除编辑页面,并推送帖子页面。
所以现在我的历史堆栈中有两条相同的路线(帖子页面)。
问题是,当我点击浏览器的后退按钮时,我转到了同一个页面,也就是帖子页面。对于用户来说,这是一个非常不自然的页面流,我想修复它。
我研究了 6 个小时来解决这个问题,但我没有找到解决方案。
我的第一次尝试是使用 Navigation Guards。但是 Navigation Guards 仅在路线更改时才起作用。就我而言,路线不会改变。
我也尝试使用 window.history.onPopState 事件侦听器,但也失败了,因为在使用 window.history.onPopState 时我无法操纵路由。
非常感谢您的帮助。谢谢。
附: Stack Overflow 上最相似的问题是 vue-router: skip page when using browser back button,但它根本没有回答我的问题。我检查了其他问题,但他们也没有回答我的问题。
【问题讨论】:
标签: vue.js vuejs2 vue-router html5-history