Vue3登录路由回退判断

有时候登录需要返回到上一路由,这里给出一种解决思路:全局后置守卫记录下上一路由地址,登录时排除某些特殊地址,如果是注册忘记密码等则进入首页,否则回退至进入登录的前一页。

 

代码如下:

const onSubmit = (event) => {

    //unFocus(event) 失活焦点

    formRef.value.validate((valid)=>{

        if(!valid){

            return false

        }

        loading.value = true

        store.dispatch("login",form).then(res=>{

            // 首次进入无论什么页面都会是"/"

            if (window.sessionStorage.prePath ==="/" ||

                window.sessionStorage.prePath ==="/login" ||

                window.sessionStorage.prePath ==="/register" ||

                window.sessionStorage.prePath ==="/forgot") {

                router.push("/")

            } else {

                router.go(-1)

            }

            /* 结合全局后置守卫

            router.afterEach((to, from) => {

                window.sessionStorage.prePath = from.path

            }

            */

        }).catch(res=>{

            toast(res.msg,"error")

        }).finally(()=>{

            loading.value = false

        })

    })

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值