vue,返回键,返回跳过上两个路由的页面,要如何实现?
比如:
页面A(新建按钮)->选择类型->编辑表单->表单详情(点击返回键,返回详情页A)
页面B->表单详情(修改按钮)->选择类型->编辑表单->表单详情(点击返回键,返回页面B)
我知道用 this.$router.replace
可以实现大概的原理,但是我希望同时在编辑表单的时候,点击返回键也能成功返回选择类型,这就很难用这个方法了
以上两种情况,要如何设计路由的返回方法来实现呢?
同理,其实也类似淘宝、拼多多等购物平台,从详情页到生成订单页,中间可能经历了多个页面,但最终订单页点击返回,都是会直接返回到详情页。很想知道这一类的设计原理如果要用vue写的H5页面,要如何实现最为便捷且通用呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
监听一下从D返回C 的事件吧,在路由守卫判断一下,如果是从 D返回C,就额外多back一层
如果同时页面上还存在直接从 A到C 的逻辑,导致没法判断是返回还是前进的话,可以尝试把整个路由栈都记录下来,再来判断。
或者也可以通过replace,但是 B->C 之后,从 C->B 的,引导用户从UI上面直接点击,让你replace回去,而不是用浏览器的返回,这样会比较好处理一点,推荐这样做。
另外还有一些幺蛾子操作就是把 B C 放到Iframe 里面,从 A->B 通过push, C->D 通过replace, B->C 两个页面都在 iframe 内部进行跳转,就可以正常跳回去。
不推荐这种操作,容易玩废