vue项目写的Hybrid H5页面如果要回退到之前的某一个页面,这不像客户端,直接回退到路由栈就行,网上好多说用replace和push的试了一下发现都不可以。现说一下解决方案:
- 使用push,但是需要维护一个query参数:mRedirect,即跳转路由
注意:这个参数不能是redirect,实践中发现如果是redirect,会有跳转错乱问题,怀疑内部用到了这个参数
即:进入这个页面,就要告诉这个页面,你返回的路由是哪一个,由mRedirect传入 - 监听返回事件,或者在返回事件中判断,如果存在mRedirect, 则push到这个路由
- 如果最后push到的是跟路由 ‘/’, 那在根路由返回的时候,直接退出就行(如果涉及Native,通知Native退出webview就可以)
如果有更好的解决方案,可以私信告诉我,不胜感激!