gpt4 book ai didi

javascript - 如何在不添加历史记录的情况下推送到 vue-router?

转载 作者:行者123 更新时间:2023-12-03 08:18:52 25 4
gpt4 key购买 nike

我有以下顺序发生:

  • 主屏
  • 载入画面
  • 结果屏幕

  • 在主页上,当有人点击一个按钮时,我将他们发送到加载屏幕,通过:
    this.$router.push({path: "/loading"});
    一旦他们的任务完成,他们就会通过以下方式发送到结果屏幕
    this.$router.push({path: "/results/xxxx"});
    问题是,通常他们想从结果返回到主屏幕,但是当他们点击返回时,他们被发送到再次加载,这将他们发送回结果,所以他们陷入了无限循环并且无法去返回主屏幕。

    任何想法如何解决这一问题?理想情况下,如果有这样的选择:
    this.$router.push({path: "/loading", addToHistory: false});
    这会将它们发送到路线而不将其添加到历史记录中。

    最佳答案

    使用 this.$router.replace 这应该有一个真正的答案:

    // On login page

    // Use 'push' to go to the loading page.
    // This will add the login page to the history stack.
    this.$router.push({path: "/loading"});

    // Wait for tasks to finish

    // Use 'replace' to go to the results page.
    // This will not add '/loading' to the history stack.
    this.$router.replace({path: "/results/xxxx"});
    为了进一步阅读 Vue 路由器正在使用 History.pushState()History.replaceState()在幕后。

    关于javascript - 如何在不添加历史记录的情况下推送到 vue-router?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58201173/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com