vue 简易路由导航守卫

vue路由导航守卫

vue 官方文档

目的:在没有登录之前,无法进入首页

src/router/index.js

   improt Vue from 'vue'
   import Router from 'vue-router'
   
   // 引入两个组件
   improt index from '../pages/TestIndex'
   improt login from '../pages/TestLogin'
   
   Vue.use(Router)
   
   const router = new Router({
        mode:"history",    //去除 #
        routes:[
            {
                path:"/",
                name:"index",
                component:index
            },
            {
                path:"/index",
                name:"index",
                component:index
            },
            {
                path:"/login",
                name:"login",
                component:login   
             }
        ]
   })
   
   router.beforeEach((to,from,next)=>{
        //登录时保存的token
        let token = sessionStorage.getItem("access-token")
        //如果直接访问登录页面
        if(to.path == "/login"){
           //如果信息存在,是登陆过,跳转到主页,信息不存在,则没有登陆过,继续登录
            if(token){
                next({path:"/"})
            }else{
                next()
            }
        //如果访问的是非登录页面
        }else{
            //信息不存在,则直接跳转登陆页面
            if(!token){
                next({path:"/login"})
            }else{
                next()
            }
        }
   })
   
   export default router;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值