在使用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')

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

题主参考下

就是我觉得吧,你可以从按钮的禁用入手,第一步的时候判断一下路由 如果是first就禁用上一步就可以了 第二页 第三页放开 最后一页的时候禁用掉下一页就好了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632