电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

解決vue-router路由攔截造成死循環問題

瀏覽:131日期:2022-12-15 14:34:33

筆記:vue-router路由攔截造成死循環,在做路由攔截的時候,一直出現死循環.

router的index.js文件路由配置

const router = new Router({routes: [{path: ’/login’,name: ’login’,component: Login,meta: {isShow: true}}, {path: ’/’,component: Layout,redirect: ’/home’,meta: {title: '首頁菜單'}, children: [{ path: ’home’, name: ’home’, component: () => import(’@/views/Hmoe’), meta: { title: '首頁' } }],}]})

一開始路由攔截是這樣寫的,但是這樣的結果就是,在token存在的時候,可以直接訪問login頁面,但是實際項目中是,在token存在的時候不能可以訪問login頁面

router.beforeEach((to, from, next) => { if (!to.meta.isShow && !sessionStorage.getItem('token')) { return next(’/login’); } next();})

根據項目的需求進行修改,然后就出現下圖的報錯,出現了死循環

router.beforeEach((to, from, next) => { if (sessionStorage.getItem('token')) { if (to.meta.isShow) { next(’/home’) } else { next() } } else { next(’/login’); }}) //檢查代碼router.beforeEach((to, from, next) => { if (sessionStorage.getItem('token')) { if (to.meta.isShow) { console.log('1') next(’/home’) } else { console.log('2') next() } } else { console.log('3') next(’/login’); }})

解決vue-router路由攔截造成死循環問題

解決vue-router路由攔截造成死循環問題

然后接著進行修改,就把瀏覽器弄崩潰了,此處省略一萬字T_T.......

最后修改的代碼,終于得到了最終的需要的結果

router.beforeEach((to, from, next) => { if (sessionStorage.getItem(’token’)) {//toekn存在 if (to.path == ’/login’) {//token存在,并且是login頁面 next(’/home’); } else {//token存在,不是login頁面 next(); } } else { if (to.path == ’/login’) {//token不存在,并且是login頁面 next(); } else {//token不存在,不是login頁面 next(’/login’); } }});

關于vue-router導航守衛,官方給出的解釋是

解決vue-router路由攔截造成死循環問題

出現無限循環是因為之前我沒有弄清楚next()流程

因為每次跳轉到一個路由的時候都會 觸發 全局守衛 由于判斷條件未改變 所以 一直循環

關于上面代碼我自己的理解,就是當token存在的時候,判斷頁面是否是login頁面,如果是就next到首頁,不是就直接next。如果token不存在,頁面為login就直接next,不是login就直接next到login頁面,因為一開始在第一個else里面沒有做判斷,那么他的條件一直未改變,所以他會一直重復next到login才造成的死循環,后面寫了判斷之后就正常了....

補充知識:vue-router promise問題

最近在項目中使用element發現了一個bug

側邊欄list 點擊沒問題 如果在這個點擊頁面 在點擊一次router-link 就會報錯 但是不影響功能

去你引用vue-router的頁面添加一段代碼

const originalPush = Router.prototype.pushRouter.prototype.push = function push(location) {return originalPush.call(this, location).catch(err => err)}

以上這篇解決vue-router路由攔截造成死循環問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 带锯机|木工带锯机圆木推台锯|跑车带锯机|河北茂业机械制造有限公司| | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | ALC墙板_ALC轻质隔墙板_隔音防火墙板_轻质隔墙材料-湖北博悦佳 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | 标策网-专注公司商业知识服务、助力企业发展 | 高低温试验房-深圳高低温湿热箱-小型高低温冲击试验箱-爱佩试验设备 | 学考网学历中心| 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 美甲贴片-指甲贴片-穿戴美甲-假指甲厂家--薇丝黛拉 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 北京自然绿环境科技发展有限公司专业生产【洗车机_加油站洗车机-全自动洗车机】 | 武汉森源蓝天环境科技工程有限公司-为环境污染治理提供协同解决方案 | 二手Sciex液质联用仪-岛津气质联用仪-二手安捷伦气质联用仪-上海隐智科学仪器有限公司 | 通风气楼_通风天窗_屋顶风机-山东美创通风设备有限公司 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 橡胶接头_橡胶软接头_套管伸缩器_管道伸缩器厂家-巩义市远大供水材料有限公司 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 广东成考网-广东成人高考网| 专业的压球机生产线及解决方案厂家-河南腾达机械厂 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 车充外壳,车载充电器外壳,车载点烟器外壳,点烟器连接头,旅行充充电器外壳,手机充电器外壳,深圳市华科达塑胶五金有限公司 | 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | B2B网站_B2B免费发布信息网站_B2B企业贸易平台 - 企资网 | 成都APP开发-成都App定制-成都app开发公司-【未来久】 | 低气压试验箱_高低温低气压试验箱_低气压实验箱 |林频试验设备品牌 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 金属清洗剂,防锈油,切削液,磨削液-青岛朗力防锈材料有限公司 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 泰安办公家具-泰安派格办公用品有限公司| 【同风运车官网】一站式汽车托运服务平台,验车满意再付款 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 |