axios vue 加载效果动画_vue+axios+element ui 实现全局loading加载示例

2023-11-17

感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!

实现全局loading加载

分析需求,我们只需要在请求发起的时候开始loading,响应结束的时候关闭loading,就这么简单 对不对?

代码如下:

import axios from 'axios';

import { Message, Loading } from 'element-ui';

import Cookies from 'js-cookie';

import router from '@/router/index'

let loading //定义loading变量

function startLoading() { //使用Element loading-start 方法

loading = Loading.service({

lock: true,

text: '加载中……',

background: 'rgba(0, 0, 0, 0.7)'

})

}

function endLoading() { //使用Element loading-close 方法

loading.close()

}

//那么 showFullScreenLoading() tryHideFullScreenLoading() 要干的事儿就是将同一时刻的请求合并。

//声明一个变量 needLoadingRequestCount,每次调用showFullScreenLoading方法 needLoadingRequestCount + 1。

//调用tryHideFullScreenLoading()方法,needLoadingRequestCount - 1。needLoadingRequestCount为 0 时,结束 loading。

let needLoadingRequestCount = 0

export function showFullScreenLoading() {

if (needLoadingRequestCount === 0) {

startLoading()

}

needLoadingRequestCount++

}

export function tryHideFullScreenLoading() {

if (needLoadingRequestCount <= 0) return

needLoadingRequestCount--

if (needLoadingRequestCount === 0) {

endLoading()

}

}

//http request 拦截器

axios.interceptors.request.use(

config => {

var token = ''

if(typeof Cookies.get('user') === 'undefined'){

//此时为空

}else {

token = JSON.parse(Cookies.get('user')).token

}//注意使用的时候需要引入cookie方法,推荐js-cookie

config.data = JSON.stringify(config.data);

config.headers = {

'Content-Type':'application/json'

}

if(token != ''){

config.headers.token = token;

}

showFullScreenLoading()

return config;

},

error => {

return Promise.reject(err);

}

);

//http response 拦截器

axios.interceptors.response.use(

response => {

//当返回信息为未登录或者登录失效的时候重定向为登录页面

if(response.data.code == 'W_100004' || response.data.message == '用户未登录或登录超时,请登录!'){

router.push({

path:"/",

querry:{redirect:router.currentRoute.fullPath}//从哪个页面跳转

})

}

tryHideFullScreenLoading()

return response;

},

error => {

return Promise.reject(error)

}

)

以上这篇vue+axios+element ui 实现全局loading加载示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持512笔记。

注:关于vue+axios+element ui 实现全局loading加载示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:vue.js

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

axios vue 加载效果动画_vue+axios+element ui 实现全局loading加载示例 的相关文章

  • Vuex之理解mutation的用法

    一 什么是mutation 通俗的理解mutations 里面装着一些改变数据方法的集合 这是Veux设计很重要的一点 就是把处理数据逻辑方法全部放在mutations里面 使得数据和视图分离 切记 Vuex中store数据改变的唯一方法就
  • D13 LeetCode 599.两个列表的最小索引和(简单)

    一 题目 二 思路 自己 先遍历两个数组 找出元素值相等的元素同时记录下标和 这时候我想到了要用到map 但是map不允许键值重复 我就一直在纠结怎么不让他更新或者记录相等键的元素值 然后想破了头也没想清楚 最后想着用list来记录 把 下
  • Vue router-view 路由无缝切换动画

    Vue router view 路由无缝切换动画 左滑淡出 右滑淡入 HTML div class wrap div
  • android面试内存管理,Android面试之内存优化

    内存泄漏 用动态存储分配函数动态开辟的空间 在使用完毕后未释放 结果导致一直占据该内存单元 直到程序结束 即所谓的内存泄漏 内存泄漏是造成应用程序OOM 内存溢出 的主要原因之一 怎样避免内存泄漏 1 单例模式引发的内存泄漏 单例模式里的静
  • 华为OD机试 - 连续字母长度(Java)

    题目描述 给定一个字符串 只包含大写字母 求在包含同一字母的子串中 长度第 k 长的子串的长度 相同字母只取最长的那个子串 输入描述 第一行有一个子串 1 lt 长度 lt 100 只包含大写字母 第二行为 k的值 输出描述 输出连续出现次
  • 神经网络训练

    在数码管识别中 识别之前 字符归一化之后的大小是20 20个像素
  • 听说Python多线程和多进程有鸡肋?一起聊聊...

    听说是鸡肋 一直以来 关于Python的多线程和多进程是否是鸡肋的争议一直存在 今晚抽空谈谈我的看法 以下是我的观点 对于多线程 Python 的多线程库 threading 在某些情况下确实是鸡肋的 这是因为 Python 的全局解释器锁
  • CentOS7.X版本下安装MySQL5.7

    记录CentOS7 X版本下安装MySQL5 7数据库 设置rpm下载目录在 opt目录下新建一个目录存放mysql cd opt sudo mkdir mysql 下载MySQL的源 wget http repo mysql com my
  • [CTF/网络安全] 攻防世界 disabled_button 解题详析

    CTF 网络安全 攻防世界 disabled button 解题详析 input标签 姿势 disable属性 总结 题目描述 X老师今天上课讲了前端知识 然后给了大家一个不能按的按钮 小宁惊奇地发现这个按钮按不下去 到底怎么才能按下去呢
  • Centos7.4安装kvm虚拟机(使用virt-manager管理)

    原文链接 https www centos bz 2018 02 centos7 4 E5 AE 89 E8 A3 85kvm E8 99 9A E6 8B 9F E6 9C BA EF BC 88 E4 BD BF E7 94 A8vir
  • 2022年SQL经典面试题总结(带解析)

    一 选择题 1 基础题 1 要求删除商品表中价格大于3000的商品 下列SQL语句正确的是 A DELETE FROM 商品 WHERE 价格 gt 3000 B DELETE FROM 商品 WHERE 价格 gt 3000 C DELE
  • 【空间面板计量专题,举一反三,学通学透】

    重点内容 空间计量概念 空间权重矩阵 空间面板计量全套代码 前言 最近因为要写一篇关于环境规制的论文 需要用到空间计量的方法 于是开始从零学习这个模块的内容 在耗费大量精力以及微薄的财力之后 最终也是在实际操作方面能够得以初窥门径 不过回顾
  • 【模板】树状数组

    文章目录 1 概述 2 原理 3 实现 3 1 lowbit x 3 2 查询前缀和 3 3 单点增加 4 初始化 1 概述 树状数组 Binary Indexed Trees 其基本用途是维护序列的前缀和 对于给定的序列 a a
  • RT-Thread 框架下,GD32F450,串口DMA收发驱动 编写示例

    写在前面的话 RT Thread的软件包 BSP目录下 GD32F450 eval 串口驱动目前 2022 09 05 还不全 只能一个byte一个byte的接收 对于一个搞硬件的熟系MCU运行方式的强迫症来说 如此浪费CPU资源 这能忍
  • Flutter网络请求篇-dio-retrofit

    flutter retrofit plug网址 https pub dev packages retrofit 创建抽象类 RestApi baseUrl http www devio org abstract class Http fac
  • 一百人研发团队的难题:研发管理、绩效考核、组织文化和OKR

    什么是研发团队 简单的说 你熟悉的那帮穿格子衬衫 以程序员为核心组成的团队 就是研发团队 本来 你以为格子男们是很乖很闷骚的那种 管理和协作起来比销售和业务简单很多 而实际情况是 格子男们并不那么容易管理 面向代码世界的复杂度 可能远比面向
  • 微信小游戏使用three.js开发总结2023.9.12

    微信小程序开发总结 1技术选择 我这里使用的是three js 进行的开发 目前开发了 酒馆卡牌 3D决对 两款微信小游戏 其中 酒馆卡牌 模仿的是iphone 美区的游戏 注重看在游戏没有复杂的战斗 在没有服务器的情况下依旧可以运行 由于

随机推荐

  • 完美解决phpstrom 2018.1.6版本汉化后不能打开设置的问题

    网上很多phpstrom汉化后设置大不开 很苦脑 今天我花时间找到了完美解决方案1 下载后 看汉化说名 链接 https pan baidu com s 1RD7PJwWxfCST2ctELwCrSA 密码 jy43
  • 无人车

    1 无人车四大核心技术 自动驾驶实际包含三个问题 一是我在哪 二是我要去哪 三是如何去 第一个问题是环境感知和精确定位 无人车需要的是厘米级定位 厘米级定位是无人驾驶的难点之一 不光是车辆本身的语义级定位 还有一个绝对坐标定位 第二个问题是
  • VS2005中SetUnhandledExceptionFilter函数应用

    很多软件通过设置自己的异常捕获函数 捕获未处理的异常 生成报告或者日志 例如生成mini dump文件 达到Release版本下追踪Bug的目的 但是 到了VS2005 即VC8 Microsoft对CRT C运行时库 的一些与安全相关的代
  • jsonobject转java对象的方法

    将 JSONObject 转换为 Java 对象通常涉及几个步骤 首先是定义 java 类 然后解析 JSONObject 接着提取相应字段值 将其赋值给 Java 对象的属性 最后创建 java 对象 详细流程如下 1 定义 Java 类
  • CTF_ctfshow_web9_sql注入

    打开靶机 手工注了一下 发现没有注入点 然后查看了一下robots txt协议 提示了index phps 访问一下 下载下来了源码
  • 王怀民:推动中国开源创新从参与融入到蓄势引领

    作为数字时代的新趋势 开源正以 开放 共享 协同 商业模式 的新型生产方式 以 自由 的传播形式 成为推动全球科技发展的核心引擎 而在全世界开源大发展的背景下 近年来中国开源的发展速度已成为全球最快 支持数字技术开源社区等创新联合体发展 完
  • JAVA高级类特性(一)

    一 继承性 1 继承的使用 权限修饰符 class A extends B 2 子类 A 父类 基类 SuperClass B 3 子类继承父类后 父类中声明的属性 方法 子类都可以获取到 明确 当父类中有私有的属性或方法时 子类同样可以获
  • python+requests+unittest接口自动化(3):post请求

    接下来说post请求 与get请求相比 post请求 多了一个body需要传输 上代码为敬 import requests url https github com data name tom age 13 header Content t
  • Altium Designer学习之1——Stm32f103c8t6最小系统板(PCB制图,手把手教程)

    目录 一 项目工程的创建 1 新建项目 2 新建项目文件 二 原理图的绘制 1 最小系统板总原理图 模板 2 小技巧 2 1 1 放置导线 2 1 2 批量放置导线 偷懒 2 2 1 放置网络标签 2 2 2 批量放置网络标签 2 3 元器
  • 8 种在 CSS 中隐藏元素的方法汇总

    作为一个优秀的前端 我们经常遇到需要隐藏网页上的元素的情况 在本文中 我们将分享8 种在 CSS 中隐藏元素的方法 每种方法都有优点和注意事项 Opacity and Filter Opacity 隐藏元素最简单的方法之一是调整其不透明度
  • Altium Designer17 关于Add component class member的错误的解决

    2019 1 8在设计物料搬运机器人时遇到从原理图导到PCB图时抛出一堆Add component class member下的错误 解决方法 删除相关的PcbDoc文件重新建立导入即可解决
  • Java实现excel文件读写

    Java实现excel文件读写 读 try String path E test xlsx 获取文件输入流 InputStream inputStream new FileInputStream path Workbook workbook
  • linux连接xshell失败,ping不通主机或虚拟机

    IPADDR新增的ip地址的网段一定要和默认网段相同 如下两个网段配置 设置完成后查看虚拟机的防火墙是否关闭 systemctl status firewalld 防火墙如果开启则需要关闭 systemctl stop firewalld
  • windows系统下ftp上传下载和一些常用命令

    windows系统下ftp上传下载和一些常用命令 先假设一个ftp地址 用户名 密码 FTP Server home4u at china com User yepanghuang Password abc123 打开windows的开始菜
  • Android动画系列之帧动画详解

    Android动画系列之帧动画详解 官方文档链接 Animate drawable 简介 逐帧动画就是一个接一个地加载一系列可绘制的资源来创建一个动画 这是一种传统的动画 从某种意义上说 它是由一系列不同的图像组成的 按照顺序播放 就像一卷
  • Fiddler抓包教程 ---> Fiddler如何证书配置与开启抓包完整详解

    一 安装fiddler和配置证书 fiddler默认是只抓取http协议 如下图 如果会话列表中的Host列中出现Tunnel to 字样都说明是证书的问题 这种就不能抓取到我们想要的会话 要想抓https协议 需要配置一下 操作方法如下
  • 重启:HTML的开始

    HTML 是一种文本标记语言 它的全称是 Hpyter Text Markup Labguage 文档声明 声明当前网页的版本 eg 这里不区分大小写 用于声明文档采用哪个版本的HTML进行编写 这里代表的是html5 注意 声明必须要放在
  • 一文读懂什么是进程、线程、协程

    进程 我们都知道计算机的核心是CPU 它承担了所有的计算任务 而操作系统是计算机的管理者 它负责任务的调度 资源的分配和管理 统领整个计算机硬件 应用程序则是具有某种功能的程序 程序是运行于操作系统之上的 进程是一个具有一定独立功能的程序在
  • fanuc机器人四边形编程_Fanuc焊接机器人编程小例子

    摘要 某个美国专家编的焊接程序 小例子 PROG PIPE 2SS1CC ATTR OWNER MNEDITOR COMMENT START STOP PROG SIZE 8121 CREATE DATE 10 11 25 TIME 14
  • axios vue 加载效果动画_vue+axios+element ui 实现全局loading加载示例

    感兴趣的小伙伴 下面一起跟随512笔记的小编两巴掌来看看吧 实现全局loading加载 分析需求 我们只需要在请求发起的时候开始loading 响应结束的时候关闭loading 就这么简单 对不对 代码如下 import axios fro