码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue 框架基础 -router导航守卫


    router导航守卫

    定义:在路由跳转过程中(从登录login路由到main主界面)在跳转前,跳转中,跳转后定义的对应点的处理函数。

    导航守卫分类

    全局导航守卫 => 钩子函数

    1. 全局前置导航守卫 beforeEach

    三个必要参数:

    • to 即将要进入的目标,用一种标准化的方式
    • from 当前导航正要离开的路由,用一种标准化的方式
    • naxt 继续向下执行(注意:naxt()是一个函数,调用的时候继续执行路由跳转,不调用就会停止跳转)

    创建全局前置导航守卫的步骤:

    • 创建一个名为 permission.js的 js 文件
    • 引入router 路由模块
    • 在入口文件main.js 入口文件内引入 全局前置导航守卫文件
    // main.js入口文件
    import '@/permission.js' // 引入全局前置导航守卫
    
    • 1
    • 2
    import  router from '@/router' // 引入router
    /**
     * 创建全局前置守卫 beforeEach
     * to 即将要进入的目标,用一种标准化的方式
     * from 当前导航正要离开的路由,用一种标准化的方式
     * naxt 继续向下执行
     */
    router.beforeEach((to,from,next)=>{
      console.log(to)
      console.log(from)
      next() // 放行
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    全局前置导航守卫登录验证代码示例

    登录身份验证

    登录成功之后才能访问主界面

    • 1.全局前置守卫 beforeEach 处理身份认证
    • 2.判断是否登录,如果登录就放行 next()
      2.1 如何判断登录是否成功,通过 Token 【判断】
    • 处理不需要登录身份认证的路由拿到当前路由信息 /login, / 设置通行白名单 [ ]
    router.beforeEach((to,from,next)=>{
      // console.log();
      // 白名单,不需要登录认证的路由
      let whiteArry = ['/SignIn','/']
      // 当前路由
      if(whiteArry.indexOf(to.path)!==-1){
        next() // 放行
        return
      }
      // 登录身份认证
      let token = localStorage.getItem('Token')
      if(token){
     // 已登录
        next() 
      }else{
        next('/SignIn')
      }
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    全局后置导航守卫

  • 相关阅读:
    【力扣每日一题】2023.9.10 课程表Ⅱ
    操作符 | MATLAB
    【DDD】学习笔记-发布者—订阅者模式
    python执行pip指令时,提示“You should consider upgrading……”的解决方法
    WebDAV之葫芦儿·派盘+百灵创作
    Lua中如何实现类似gdb的断点调试—09支持动态添加和删除断点
    报错 documentation/kbuild: is a directory. stop(Windows 内置Linux子系统WSL编译Linux内核)
    插入损耗——线对上的信号衰减
    【YOLOv8】 用YOLOv8实现数字式工业仪表智能读数(二)
    少年,你可听说过MVCC?
  • 原文地址:https://blog.csdn.net/AKindofo/article/details/125417592
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号