关于vue导航守卫问题

从第一个页面到第二个路由页面时,在第二个路由页面通过组件守卫beforeRouteEnter打印出from的值,为如下图图片描述

这个是正常的
但是当我在第二个页面点击刷新以后,打印出的from值为下图
图片描述

是空的,获取不到第一个页面页面栈的信息了,这个问题改如何解决

阅读 2.2k
2 个回答

你在第二个页面刷新,肯定找不到是从哪个页面来的
我建议你,在第一个页面前往第二个页面的时候,比如/first -> /second
把第一个页面的路由标识传递到第二个页面的Url里,如下:
/second?from=first

js虽然能通过window.history.back()window.history.go()执行浏览器历史记录跳转操作。但是却没办法获得浏览器真正的History列表。
vue-router之所以能实现前端路由,并给你的导航守卫formto,只是得益于前端单页面应用并没有真正跳转的特性,把历史路径记录下来实现的。
你页面刷新了它记录的这些数据就丢失了,又没办法通过浏览器拿数据,只能等于重头开始,当然取不到上个页面form了。

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