最近做移动端项目, 遇到一个很严重的问题, 就是关于移动端返回问题, 当操作页面过多的时候将会出现一层一层的奇怪现象, 当然, 这只是一般人的看法, 因为历史记录就如同压栈一样, 点击一个页面就相当于往栈顶压,返回的话将会一层一层返,我也在网上搜寻了许久, 没有得到想要的结果。最近略有所感, 废话不多说,直接说思路和核心代码。
1. 在beforeRouteEnter中将来的页面存起来, 然后在beforeRouteLeave中看将要去的页面是否相同, 相同的话直接调$router.go(-1); 经过这一步操作可以减少百分之八十的重复返回问题。
2. 通过windows里面的history拿到里面的length,然后使用$router.go(-(length - 1))也可以直接将页面返回到最开始进来的页面。
第一次写博客, 文笔不太好,通过上面两步操作基本能解决返回问题。