vue,返回键,返回跳过上两个路由的页面,要如何实现?

比如:

页面A(新建按钮)->选择类型->编辑表单->表单详情(点击返回键,返回详情页A)

页面B->表单详情(修改按钮)->选择类型->编辑表单->表单详情(点击返回键,返回页面B)

我知道用 this.$router.replace 可以实现大概的原理,但是我希望同时在编辑表单的时候,点击返回键也能成功返回选择类型,这就很难用这个方法了

以上两种情况,要如何设计路由的返回方法来实现呢?

同理,其实也类似淘宝、拼多多等购物平台,从详情页到生成订单页,中间可能经历了多个页面,但最终订单页点击返回,都是会直接返回到详情页。很想知道这一类的设计原理如果要用vue写的H5页面,要如何实现最为便捷且通用呢?


回答:

vue,返回键,返回跳过上两个路由的页面,要如何实现?

监听一下从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 内部进行跳转,就可以正常跳回去。
不推荐这种操作,容易玩废

以上是 vue,返回键,返回跳过上两个路由的页面,要如何实现? 的全部内容, 来源链接: utcz.com/p/935809.html

回到顶部