为了账号安全,请及时绑定邮箱和手机立即绑定

点击分享出来的页面在进入vue页面时,如果没有登录要进入登录页,进入登录页之后再返回当前页面

点击分享出来的页面在进入vue页面时,如果没有登录要进入登录页,进入登录页之后再返回当前页面

浮云间 2019-03-15 14:15:08
点击分享出来的vue页面,进入vue页面时,如果没有登录要进入登录页,进入登录页之后再返回当前页面,如何操作?
查看完整描述

5 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

在main.js文件里


router.beforeEach((to, from , next) => {

    /*判断下一个路由是否需要登录,对其进行验证*/

    if('auth' in to.meta && to.meta.auth === true ) {

        hasAuth.... //判断用户是否登录

        if(hasAuth) {

            /*如果已经登录,可以进入页面*/

            next()

        }else {

            next({

                name: 'AuthHome', //登录注册页

                query: {

                    redirect_url: to.fullPath

                }

            })

        }

    }

     next()

})

然后判断登录页面的url是否有redirect_url,存在redirect_url则跳转到redirect_url,否则跳转到首页


if (this.$route.query.redirect_url) {

    this.$router.replace({

      path: this.$route.query.redirect_url

    })

  } else {

    this.$router.replace({

      name: 'homeIndex'

    })

  }


查看完整回答
反对 回复 2019-03-22
?
PIPIONE

TA贡献1829条经验 获得超9个赞

登录页判断是从哪个页面进来的 然后跳转


查看完整回答
反对 回复 2019-03-22
?
临摹微笑

TA贡献1982条经验 获得超2个赞

用document.referrer这个属性,得到进入当前页面之前的那个url,再用window.location()返回之前的页面


查看完整回答
反对 回复 2019-03-22
?
撒科打诨

TA贡献1934条经验 获得超2个赞

分享的时候 加上一个 query:{returnPath:yourPath};
然后在 点击登陆按钮的时候 判断 this.$route.query.returnPath 然后跳转首页或者 returnPath

查看完整回答
反对 回复 2019-03-22
  • 5 回答
  • 0 关注
  • 2369 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信