vue的beforeEach中的next踩坑记录

// 这里是定义一些,router方面的请求,

import router from "./router"


router.beforeEach((to,from,next)=>{
    // 上面三个参数就是,to代表的是,即将要去的路由,from代表的是,将要离开的路由,next表示可以执行的方法,也就是,可以在里面判断,去到哪里,url的路径什么的
 
    // console.log(to)  这里的to就是route的意思,里面有一些hash meta params path 还有query什么的
    console.log(to)  
    // next(console.log(to.path))
    if(to.path==="/s"){
        console.log(123)
        next()
    }else{
        
        // next()
        if(to.path==="/h"){
            next()
        }else{
            if(to.path==="/c"){
            //  next('/x') 如果直接跳转的话,就会造成死循环,这是因为,执行next('/x')这个跳转,会触发beforeEach方法,这时候,就会造成,又执行next('/x')  这样的死循环,所以还要再加一层判断
                next('/x')
            }else{
                if(to.path==="/x"){
                    next()
                }else{
                    // 一般到最后的next() 都是匹配到上面没有的路由的
                    next()
                }
            }
        }
    }
    
})

仅为个人感受…

Logo

前往低代码交流专区

更多推荐