关于这个问题自己开发时没有遇到过,不过旁边的一位半路出家的兄弟向我讨教过,测试多次后百思不得其解。 这个问题说大也不大,用到的方法为:
history.go(-1)
history.back()
这两个方法第一个为返回上一页刷新,第二个为返回上一页保存上一页数据。
开始我以为是方法绑定错地方了,有遮罩层挡住了点击事件,直接在打断点在方法里,发现实际上是触发了返回的方法。于是我再次点击,发现第二次点击时成功触发了返回。看来是发生了两次跳转,回到跳转前页面,找到跳转的方法:
this.$router.push({path:'/xxx'})
结果还是没有头绪,方法没有改写过,折腾了足足半个小时后,这个奇怪的跳转返回被改成了:
history.go(-2)
返回两次,算是应付了过去。
直到最近他突然问我一个新的问题时我才发现了上次的问题,他说他跳转后,页面路径后出现的“#”号是干嘛的。果不其然,我找到他使用的跳转标签:
<a href="#" @click="openDetails">详情</a>
于是心里已经先下了结论,点击a标签时触发了跳转锚点,以及openDetails的跳转方法,这样确实是跳转了两次。将代码改为:
<a href="javascript:void(0);" @click="openDetails">详情</a>
事情完美解决。