筆記:vue-router路由攔截造成死迴圈,在做路由攔截的時候,一直出現死迴圈.
router的index.js檔案路由配置
const router = new router(},
,children: [ }],}]
})
一開始路由攔截是這樣寫的,但是這樣的結果就是,在token存在的時候,可以直接訪問login頁面,但是實際專案中是,在token存在的時候不能可以訪問login頁面
router.beforeeach((to, from, next) =>
next();
})
根據專案的需求進行修改,然後就出現下圖的報錯,出現了死迴圈
router.beforeeach((to, from, next) => else
} else
})//檢查**
router.beforeeach((to, from, next) => else
} else
})
然後接著進行修改,就把瀏覽器弄崩潰了,此處省略一萬字t_t.......
最後修改的**,終於得到了最終的需要的結果
router.beforeeach((to, from, next) => else
} else else
}});
關於vue-router導航守衛,官方給出的解釋是
出現無限迴圈是因為之前我沒有弄清楚next()流程
因為每次跳轉到乙個路由的時候都會 觸發 全域性守衛 由於判斷條件未改變 所以 一直迴圈
關於上面**我自己的理解,就是當token存在的時候,判斷頁面是否是login頁面,如果是就next到首頁,不是就直接next。如果token不存在,頁面為login就直接next,不是login就直接next到login頁面,因為一開始在第乙個else裡面沒有做判斷,那麼他的條件一直未改變,所以他會一直重複next到login才造成的死迴圈,後面寫了判斷之後就正常了......................................
vue router做路由攔截時陷入死迴圈
今天分享一下使用vue router做路由攔截時遇到的坑。需要提前了解的api 1 router.beforeeach to from next 確保要呼叫next方法,否則鉤子就不會被 resolved。我們一般在寫攔截時會這樣去寫 router.beforeeach to,from,next e...
vue router路由巢狀
巢狀路由顧名思義就是路由的多層巢狀。結合vue router仿天貓底部導航欄,給元件me新增巢狀路由,也叫子路由。總共新增兩個子路由,分別命名collection.vue 我的收藏 和trace.vue 我的足跡 1 重構router index.js的路由配置,需要使用children陣列來定義子...
vue router 配置路由
vue router 配置路由 用 vue.js vue router 建立單頁應用,是非常簡單的。使用 vue.js 我們已經可以通過組合元件來組成應用程式,當你要把 vue router 新增進來,我們需要做的是,將元件 components 對映到路由 routes 然後告訴 vue rout...