vue移动端form页面多次跳转提交返回又到提交页

场景移动端:

首页=>列表页=>详情页=>Form1=>Form2=>Form3=>预览页=>提交页=>返回详情页

问题:

提交后=>返回详情页,物理返回又会回到提交页

期望:

期望在回到详情页后返回直接到列表页

解决思路:

详情页进入Form之前记录下当前浏览历史记录length,从提交页成功返回后减去之前的浏览记录

// vue2举例
beforeRouteEnter(to, from, next){
    if (from.path === '/from') { // 从提交页回来, 取并减去之前记录length
        next(vm =>{
             let routeHistory = RouterHistoryManage.get();
             let curHistory = window.history;
             vm.$router.go(-(curHistory.length - routeHistory.length));
        })
        return;
    }
    next();
},
beforeRouteLeave(to, from, next){ // 也可以通过点击按钮跳转前,进行存储
    if (to.path === '/from') { // 准备跳转from, 存
        // window.history.length;
        RouterHistoryManage.set();
    };
    next();
}
/* vue3 组件内beforeRouteEnter钩子没了,解决思路可以在状态管理机制中存入路由to
  to和from,然后在页面做watch监听
*/
router.beforeEach((to, from, next) => {
    // 在这里存入to:{name: '', path: ''} from:{name: '', path: ''}
  next()
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值