【发布时间】:2020-01-31 17:06:30
【问题描述】:
我有以下顺序发生:
主屏幕
载入画面
结果屏幕
在主页上,当有人点击一个按钮时,我将他们发送到加载屏幕,通过:
this.$router.push({path: "/loading"});
一旦他们的任务完成,他们就会通过
发送到结果屏幕this.$router.push({path: "/results/xxxx"});
问题是,通常他们想从结果返回到主屏幕,但是当他们点击返回时,他们会被发送到再次加载,这会将他们发送回结果,所以他们陷入了无限循环 &无法返回主屏幕。
任何想法如何解决这个问题?理想情况下,我希望有这样的选项:
this.$router.push({path: "/loading", addToHistory: false});
这会将它们发送到该路线而不将其添加到历史记录中。
【问题讨论】:
-
this.$router.replace({path: "/results/xxxx"}) -
@RolandStarke 谢谢 - 这使后退按钮工作并返回主菜单,但我失去了前进按钮并且无法再次前进 - 有什么想法吗?
-
流程为:主菜单、加载、结果。我正在加载中调用
$router.replace。现在这让我可以从 Results -> Main 返回,但我无法继续查看结果。 -
另一种选择是没有装载路线。而是直接推送到在创建时获取数据的结果路由,然后呈现加载视图直到完成。然后没有重新路由,历史和用户流应该在没有 $router.replace 的情况下保持不变。
-
@ClickUpvote 你有没有找到解决这个问题的办法...
标签: javascript vue.js vue-router