楚河之界 2022-02-21 17:36 采纳率: 97.4%
浏览 91
已结题

在使用keep-alive和阻止浏览器后退的时候遇到的问题。

在使用keep-alive和阻止浏览器后退的时候遇到了问题。

<keep-alive>
        <router-view :key="$route.path"  />
</keep-alive>

我在每一步都使用了阻止浏览器后退。

mounted() {
    // 阻止浏览器后退行为
    history.pushState(null, null, document.URL);
    window.addEventListener("popstate", () => {
      history.pushState(null, null, document.URL);
    });
  },

首先我在第一步,正常(点击后退没效果)。

img

然后点击按钮“下一步”,来到第二步,正常(点击后退没效果)。

this.$router.push('2')

img

接着,我点击按钮“上一步”,来到第一步,不正常(点击后退,就到了第二步了)

this.$router.push('1')

遇到的问题是:只有点了“上一步”按钮,然后点后退,就会生效,我试了销毁监听事件也没用

  • 写回答

3条回答 默认 最新

查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 创建了问题 2月21日