鍍金池/ 問答/HTML/ 點(diǎn)擊分享出來的頁面在進(jìn)入vue頁面時(shí),如果沒有登錄要進(jìn)入登錄頁,進(jìn)入登錄頁之后再

點(diǎn)擊分享出來的頁面在進(jìn)入vue頁面時(shí),如果沒有登錄要進(jìn)入登錄頁,進(jìn)入登錄頁之后再返回當(dāng)前頁面,如何操作?

點(diǎn)擊分享出來的vue頁面,進(jìn)入vue頁面時(shí),如果沒有登錄要進(jìn)入登錄頁,進(jìn)入登錄頁之后再返回當(dāng)前頁面,如何操作?

回答
編輯回答
我不懂

分享的時(shí)候 加上一個(gè) query:{returnPath:yourPath};
然后在 點(diǎn)擊登陸按鈕的時(shí)候 判斷 this.$route.query.returnPath 然后跳轉(zhuǎn)首頁或者 returnPath

2017年1月12日 16:20
編輯回答
初心

main.js文件里

router.beforeEach((to, from , next) => {
    /*判斷下一個(gè)路由是否需要登錄,對其進(jìn)行驗(yàn)證*/
    if('auth' in to.meta && to.meta.auth === true ) {
        hasAuth.... //判斷用戶是否登錄
        if(hasAuth) {
            /*如果已經(jīng)登錄,可以進(jìn)入頁面*/
            next()
        }else {
            next({
                name: 'AuthHome', //登錄注冊頁
                query: {
                    redirect_url: to.fullPath
                }
            })
        }
    }
     next()
})

然后判斷登錄頁面的url是否有redirect_url,存在redirect_url則跳轉(zhuǎn)到redirect_url,否則跳轉(zhuǎn)到首頁

if (this.$route.query.redirect_url) {
    this.$router.replace({
      path: this.$route.query.redirect_url
    })
  } else {
    this.$router.replace({
      name: 'homeIndex'
    })
  }
2017年11月23日 14:05
編輯回答
有你在

用document.referrer這個(gè)屬性,得到進(jìn)入當(dāng)前頁面之前的那個(gè)url,再用window.location()返回之前的頁面

2018年6月17日 07:12
編輯回答
荒城

登錄頁判斷是從哪個(gè)頁面進(jìn)來的 然后跳轉(zhuǎn)

2018年1月4日 08:29
編輯回答
有點(diǎn)壞

這個(gè)方案很多了。
1、用一個(gè)main.vue做中轉(zhuǎn)頁面,根據(jù)接口返回登錄情況判斷是否跳哪個(gè)路由,
2、路由守衛(wèi) beforeEach里面請求驗(yàn)證用戶是否登錄,直到拿到結(jié)果之后 根據(jù)情況修改to的路由,然后手寫next();
3、先加載分享的頁面在created里面查詢,查詢出來結(jié)果后給彈窗提示 或者直接跳轉(zhuǎn)

2017年10月29日 00:03