• Vue 前置 后置 路由守卫 独享 路由权限控制 自定义属性


    import Vue from 'vue'
    import VueRouter from 'vue-router'
    //导入路由器
    Vue.use(VueRouter)
    
    import Login from '../components/Login'
    import User from '../components/User'
    //导入需要路由的组件
    
    
    const router = new VueRouter({
        //暴露出去使用
        routes:
            [
                {
                    path: '/login',
                    component: Login
                },
                {
                    name: 'user',
                    path: '/user',
                    component: User,
    
                }
            ]
    
    })
    
    
    //全部组件进入路由之前
    router.beforeEach((to, from, next) => {
    
    next()
    //放行 这样写表示全部放行 
    //这里可以做判断,符合条件放行
    
    })
    
    export default router
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    to:到哪去
    from:从哪里来
    next:是否放行

    用户登录规则

    if(to.path=='/user')//判断路径是否为用户中心
    {
    
    if(token....)//判断是否登录
    {
    next()
    }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    路由器自定义属性meta

    meta属性可以自定义属性,如果网站标题,一些自定义的数据

      {
                    path: '/login',
                    component: Login,
                    meta: { title: '用户登录', isToken: true }
      },
    
    //全部组件进入路由之前
    router.beforeEach((to, from, next) => {
    
        document.title = to.meta.title
        next()
    
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    路由的生命周期 前置 后置

    //全部组件进入路由之前
    router.beforeEach((to, from, next) => {
    
        next()
    
    //在这里一般做权限校验
    })
    
    
    //路由进入之后
    router.afterEach((to,from)=>{
    
    //校验完毕 要做的事情 比较少用
    
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    独享路由守卫

    也就是一个路由限制,如果个人中心,其他页面随便看,只有个人中心要校验权限,这个就可以使用独享路由守卫

     {
     //独享前置路由守卫
                    name: 'user',
                    path: '/user',
                    component: User,
                    meta: { title: '个人中心' },
                    beforeEnter: (to, from, next) => {
                    
                        document.title = to.meta.title
                        next()                
                    }
    
                }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    独享路由守卫没有 后置守卫 ,但可以配置成全局的后置路由守卫

    //路由进入之后
    router.afterEach((to,from)=>{
    
    //校验完毕 要做的事情 比较少用
    
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    组件路由守卫

    组价路由器守卫,没有前置 和 后置 这个概念

    路由配置

     {
                    name: 'user',
                    path: '/user',
                    component: User,
                    meta: { title: '个人中心' },      
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    User组件

    
    <script>
    
        export default {
            name: 'User',
    
            //通过路由规则进入组件时被调用
            beforeEnter: (to, from, next) => {
                // ...
            },
            //通过路由规则离开组件时被调用  路由被切换走之前
            beforeRouteLeave(to, from, next) {
                // ...
            }
        }
    
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
  • 相关阅读:
    14.序列化和文件的输入/输出 保存对象
    Docker应用下滑、近七成开发者有安全疑虑,中国云原生用户调查报告来了
    GBase 8s ALTER FRAGMENT 语句 MODIFY子句(四)
    Mysql数据库表操作--存储
    Spring Boot 中使用Caffeine缓存的简单例子
    程序化易程序分析之后,如何进入交易程序?
    解决cocos2d-x-4.0 Android Demo构建遇到的问题
    多链路自检与灵活组网:新能源充电桩物联网5G工业路由器
    这些软件可以快速实现图片翻译文字
    JavaScript入门③-函数(2)原理{深入}执行上下文
  • 原文地址:https://blog.csdn.net/dpc5201314/article/details/134484188