vue后退陷入死循环该如何解决?

clipboard.png

假如页面跳转是这样的:
A页面→B页面→C页面→B页面→C页面→B页面→C页面→B页面→C页面

那我点击后退的时候,就会陷入之前的操作
C页面→B页面C页面→B页面C页面→B页面C页面→B页面→A页面

这样很影响用户体验,一般该如何解决这个问题呢?

还有我想过一个方法:
B页面的后退按钮,指定跳转到A页面,以假乱真以为是返回。
但是。。。用户可以从E页面跳到B页面,也可以从F页面跳到B页面

阅读 4.1k
2 个回答

这个还是要看业务,如果你这里 BC 页面属于过程页面,而 A 属于开始页面,那么可以从 A 跳转 B 开始就使用 replace 而不是 push,这样在任意过程页后退都可以直接退回到开始页。

从C页面到B页面用this.$router.back(),跨页面返回比如直接返回A页面可以用this.$router.go(-2),你如果用push跳转的方式会在浏览历史中产生新的记录。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题