目录
频道首页
前置路由守卫
收藏
0
bugkingg 最近修改于 2024-08-13 15:36:13
router.beforeEach((to, from, next) => {
    //to代表将要去访问的路径
    //from代表从哪里来
    //next代表是否放行,是一个函数,如果不给参数,直接放行至下一个配置的路由页,如果给一个路由参数,则强制跳转回给定的路由页
    if (to.path == '/login') return next()//访问登录页直接放行就好了
    //如果不是登录页,其他页面都是需要权限才能访问的,判断浏览器对象sessionStorage里是否有token值,没有则强制跳回登录页
    const tokenStr = window.sessionStorage.getItem('token')
    if (!tokenStr) return next('/login')//如果没有token值强制跳转回登录页
    next()//如果判断条件都通过,证明是登录状态,放行即可! 注意,测试的时候记得先删除                            
          //sessionStorage里的token值,不然怕有人踩坑,哈哈哈!
})

独享路由守卫

beforeRouteEnter(to, from, next) {
        next(vm => {
            // console.log(from, 'from')
            //  这里的vm指的就是vue实例,可以用来当做this使用
            vm.fromPath = from.fullPath  //获取上一级路由的路径
            // console.log(vm.fromPath);
            // if (
            //     from.path === '/NaMe/scheMe' ||
            //     from.path === '/NaMe/grade'
            // ) {
            //     vm.headerRightText = ''
            //     vm.showDefault = false
            // }
        })
    },
内容大纲
批注笔记
前置路由守卫
ArticleBot
z
z
z
z
主页
会议室
Git管理
文章
云文档
看板