vue之router钩子函数

2023-11-07

模块一:全局导航钩子函数

1、vue router.beforeEach(全局前置守卫)

beforeEach的钩子函数,它是一个全局的before 钩子函数, (before each)意思是在 每次每一个路由改变的时候都得执行一遍。

它的三个参数:

to: (Route路由对象) 即将要进入的目标 路由对象 to对象下面的属性: path params query hash fullPath matched name meta(在matched下,但是本例可以直接用)

from: (Route路由对象) 当前导航正要离开的路由

next: (Function函数) 一定要调用该方法来 resolve 这个钩子。 调用方法:next(参数或者空) ***必须调用

next(无参数的时候): 进行管道中的下一个钩子,如果走到最后一个钩子函数,那么 导航的状态就是 confirmed (确认的)

next(‘/’) 或者 next({ path: ‘/’ }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。

应用场景:可进行一些页面跳转前处理,例如判断需要登录的页面进行拦截,做登录跳转!!

复制代码

router.beforeEach((to, from, next) => {
   
    if (to.meta.requireAuth) {
   
        //判断该路由是否需要登录权限
        if (cookies('token')) {
   
            //通过封装好的cookies读取token,如果存在,name接下一步如果不存在,那跳转回登录页
            next()//不要在next里面加"path:/",会陷入死循环
        }
        else {
   
            next({
   
                path: '/login',
                query: {
   redirect: to.fullPath}//将跳转的路由path作为参数,登录成功后跳转到该路由
            })
        }
    }
    else {
   
        
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue之router钩子函数 的相关文章

随机推荐

  • Megatron-LM:Transformer模型专用分布式张量模型并行方法

    论文标题 Megatron LM Training Multi Billion Parameter Language Models Using Model Parallelism 论文链接 https arxiv org abs 1909
  • 最新某条_signature破解

    今天给大家带来某头条的 signature签名破解 目标URL aHR0cHM6Ly93d3cudG91dGlhby5jb20v 用base64解密得到 图1 1 在推荐模块 这就是我们想要抓取的内容 X条的是下拉XHR请求 所以 抓包看一
  • TCP/IP详解 卷1:协议 学习笔记 第二十八章 SMTP:简单邮件传送协议

    用户与用户代理打交道 有多个用户代理可供选择 Unix上常用用户代理包括MH Berkeley Mail Elm Mush 用TCP进行邮件交换是由报文传送代理MTA Message Transfer Agent 完成的 最普通的Unix系
  • C++(17):获取启动程序的路径

    C 17的filesystem提供了current path可以获得启动程序的目录 include
  • 幂方分解

    问题描述 任何一个正整数都可以用2的幂次方表示 例如 137 27 23 20 同时约定方次用括号来表示 即ab 可表示为a b 由此可知 137可表示为 2 7 2 3 2 0 进一步 7 22 2 20 21用2表示 3 2 20 所以
  • ESP32-搭建可能遇到的问题以及解决方法

    一 安装过程中出现ESP32 TOOLS espressif tools idf python 3 8 7 python exe m pip is not valid ERROR INVALID PIP 解决方法 1 找到报错位置的路径 例
  • ESP8266的使用

    本次博客知识来自于韦东山老师的7天物联网课程 一 预期功能 运用ESP8266模块 使单片机与手机微信的小程序进行通信 实现手机控制LED的亮灭 并且 单片机可以远程控制微信小程序中模拟的门铃开启和关闭 二 硬件设置 本次实验采用STM32
  • c# 中MD5.ComputeHash() aes加密,在Java和golang中的实现

    类似移植C 代码需求 需要加密效果一致 C 中使用了AesCryptoServiceProvider加密 文档链接 AesCryptoServiceProvider 类 下载里面代码在Visul Studio2019中可以针对原加密字符解密
  • vue/cli引入element ui 失败

    在创建好了vue脚手架后 安装了vue cli plugin element插件 然后运行 发现报错 这是element js文件里的代码 这是main js文件里的代码 这是报错 解决方法1 把import Vue from vue 改为
  • 云计算的未来——云计算核心技术

    我们正在经历着一个前所未有的变革时代 信息技术的不断创新也推动着各行业的业务创新 任何规模和类型的组织都需要拥抱最新的 IT 趋势才能保持竞争力与创新力 并关注自身的业务 越来越多的企业将关键运营机制建立在 IT 基础结构之上 从 CIO
  • FolderBrowserDialog提示用户选择文件夹滴

    示例 using FolderBrowserDialog dialog new FolderBrowserDialog dialog Description 请选择存放音乐的文件夹 dialog ShowNewFolderButton fa
  • vite入坑之路:react+vite动态导入报错@vite-ignore的解决方法

    正常的动态组件导入方式 webpack搭建的项目 不管是react还是vue通常引入动态组件基本这么写 const url import pages locale vite不支持 or const url import pages loca
  • 免费的mathematica

    这里说的不是破解版 而是mathematica官方推出的免费版 没有笔记本界面等一些功能 可以在命令行使用 不过可以配置jupyter使用啊 安装 直接按照官方的提示安装就好了 http support wolfram com kb 460
  • 数据库核心

    package com example moni tab import android content ContentValues import android database Cursor import android database
  • taro不同的项目中使用不同版本的taro-cli

    这里写目录标题 preface 解决方案 1 局部安装 tarojs cli 2 测试 局部是否可以使用 tarojs cli preface 我有两个 taro 项目 写的时间前后差距半年多了 现在 taro 版本不一致 分别是 1 3
  • WTL 界面设计篇(CSkinDialog)

    头文件声明 CSkinDialog h pragma once include
  • Yolov5 优化,包括Yolov8 c2f模块

    目录 各种技巧实战测试 decouple head yolo中添加 Yolov5 Yolov7加入Yolov8 c2f模块 小目标涨点 1 加入backbone 2 加入head 各种技巧实战测试 基于Yolov5的道路缺陷识别 加入CVP
  • keil5调试代码常见的警告与错误整理

    1 warning 1295 D Deprecated declaration run c give arg types void run c 原函数 void run c void 改正后 对比前面声明的函数 发现是括号少了一个void
  • Spring Cloud架构的各个组件的原理分析

    点击上方 芋道源码 选择 设为星标 管她前浪 还是后浪 能浪的浪 才是好浪 每天 10 33 更新文章 每天掉亿点点头发 源码精品专栏 原创 Java 2021 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网
  • vue之router钩子函数

    模块一 全局导航钩子函数 1 vue router beforeEach 全局前置守卫 beforeEach的钩子函数 它是一个全局的before 钩子函数 before each 意思是在 每次每一个路由改变的时候都得执行一遍 它的三个参