报错:Avoided redundant navigation to current location: “/login“.完美解决
生活随笔
收集整理的這篇文章主要介紹了
报错:Avoided redundant navigation to current location: “/login“.完美解决
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
需求:
登陸之后才能查看主頁面,否則跳轉(zhuǎn)至登錄頁
遇到的問題:
一開始是打算直接在攔截器跳轉(zhuǎn)路由的,發(fā)現(xiàn)會報錯Avoided redundant navigation to current location: "/login".
后來靈機一動,用了全局路由守衛(wèi),完美解決
request.interceptors.request.use(config=>{config.headers['Content-Type']='application/json;charset=utf-8'let user=localStorage.getItem("user")if(!user){router.push("/login")}return config },error=> {return Promise.reject(error) })報錯:
解決方案:
添加全局路由守衛(wèi),并通過localStorage存儲信息
全局路由守衛(wèi):
router.beforeEach((to,from,next)=>{let user = localStorage.getItem("user");if(!user){if(to.path!=='/login'){next({path:"/login"})}else{next()}}else{next()} })登錄界面的邏輯判斷:
request.post("/user/login",this.form).then(res=>{if(res.code==='0'){this.$message({type:"success",message:"登錄成功"})localStorage.setItem("user",JSON.stringify(res.data))this.$router.push("/")}else{this.$message({type:"error",message:res.msg})}})總結(jié)
以上是生活随笔為你收集整理的报错:Avoided redundant navigation to current location: “/login“.完美解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue/vant——验证登录页面跳转到个
- 下一篇: CSDN Wanz's Blog 第一记