因为Vue通过axios请求后端数据 , 请求过程始终是异步的 , 开始想着用一个变量标识 , 进而让他显示加载中或者隐藏掉加载中的界面

后来发现页面中多模块都发起了不同的请求,这样的话 , 全部是异步的 , 该什么时候隐藏加载中模块就不得而知了

因此基于上面的问题 , 我在拦截器中进行了处理
让其在request请求拦截器中进行展示加载中页面
让其在response响应拦截器中进行隐藏加载中页面

代码如下

这是我的发起请求的封装的工具类

import axios from 'axios'
import {Loading, Message, MessageBox} from 'element-ui'// 创建axios实例
const service = axios.create({baseURL: "http://test.ad.spergol.com:8080/", // api 的 base_url//baseURL: "http://localhost:8080/", // api 的 base_urltimeout: 300000 // 请求超时时间
});// 第三步 http request 拦截器
service.interceptors.request.use(config => {showLoaing()return config},err => {return Promise.reject(err);})// response 拦截器
service.interceptors.response.use(response => {/*** code为非20000是抛错 可结合自己业务进行修改*/const res = response.data;// debuggerif (res.code !== 20000) {Message({message: res.message,type: 'error',duration: 5 * 1000})return Promise.reject('error')} else {hideLoading()return response.data}},error => {console.log('err' + error) // for debugMessage({message: error.message,type: 'error',duration: 5 * 1000})return Promise.reject(error)}
)let loading;
let loadingCount = 0;
function start() {loading = Loading.service({lock: true,text: '加载中',background: 'rgba(0,0,0,0.7)'})
};
function end() {loading.close();
}
function showLoaing() {if (loadingCount == 0) {start();};loadingCount++
};function hideLoading() {loadingCount--;if (loadingCount == 0) {end()}
}export default service

Vue项目整体添加加载中Loading页面相关推荐

  1. vue项目首屏加载过慢解决方案

    前言 因为我的一个vue项目首页打开加载了好久,所以决定优化一下.发现是打包体积太大了,页面才加载慢主要是第三方库. 优化着优化着就想要更好一点,于是逛博客搜索,参照了几个博主的解决方法整理出一下几点 ...

  2. css3加载中loading代码js特效大全

    下载地址 css3加载中loading代码特效大全,非常多的预加载动画特效代码. dd:

  3. css实现加载中loading动画效果

    1 效果 2 实现原理 原理很简单: 1 设置100px宽高的div,再设置成圆形border-radius:50%: 2 设置border一定宽度和颜色,再设置border-left为同样宽度和另一 ...

  4. vue 一直加载_vue加载中loading提示信息(iView Spin)

    场景 在一些按钮的点击操作中,假如没有限制,用户多次点击,会向后台发送多次请求. 还有一种情况是:当页面加载时,假如数据没有加载完成,此时为了防止用户进行操作,会显示一个遮罩:加载中....这个操作和 ...

  5. 记录--Vue自定义指令实现加载中效果v-load(不使用Vue.extend)

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 网站效果演示:ashuai.work:8888/#/myLoad GitHub仓库地址代码:github.com/shuirongshu- ...

  6. activity中fragment 返回键不退出_优雅地处理加载中(loading),重试(retry)和无数据(empty)等...

    LoadSir是一个高效易用,低碳环保,扩展性良好的加载反馈页管理框架,在加载网络或其他数据时候,根据需求切换状态页面,可添加自定义状态页面,如加载中,加载失败,无数据,网络超时,占位图,登录失效等常 ...

  7. CSS3制作加载中loading动画效果

    常见的loading加载中通常是使用一个gif来实现动画效果,实际上我们可以使用css3的特性来制作,本文介绍了一种线性加载效果的css3制作方法. 在web开发中经常遇到ajax的加载,那个加载中的 ...

  8. JQuery datatables 给表格添加加载中效果

    JQuery datatables 中如果有很多数据的话,加载就会很慢,这时候就需要使用加载中的效果,而datatables是提供了加载中的属性的:processing,加载中的style样式也是 可 ...

  9. vue 加载中loading……

    使用vue3组件的加载效果 提示:当前使用的是vue3 中的 Ant Design vue 组件 链接:https://www.antdv.com/components/spin-cn 1.html ...

  10. iframe js 加载失败_如何提高Vue项目首页的加载速度

    为何当一个VUE项目过大时,打包之后初次访问首页加载速度会异常的缓慢,是什么原因导致以及如何解决这些问题? 首页打开速度慢的原因 其实浏览器加载一个页面的过程就是通过http协议从服务器端下载项目所需 ...

最新文章

  1. 单调有界数列一定有极限
  2. Special Permutation 构造,min_element,贪心(900)
  3. 通过Chrome模拟和调试网速慢的情况来限制一些P2P视频网站上传速度占满的情况...
  4. Linux进程管理(第二版) --进程管理命令
  5. 华为发布开发者召集令,等你来战!
  6. maven3.6.3 配置环境变量_JDK1.8简单配置环境变量---两步曲
  7. Vue深入学习4—指令和生命周期
  8. vector常见用法
  9. Linux下docker(centos7)
  10. 500 G JAVA视频网盘分享(JEECG开源社区)
  11. TLE82453-3SA-芯片手册
  12. matlab绘图答案,专题四 MATLAB绘图--专题测验【含答案】
  13. 概率论大作业C语言验证正态分布的数学期望和方差
  14. 替换WIN键和Ctrl键
  15. Android 车机系统 One Binary 适配白天黑夜的一个方案
  16. shopnc route.php,shopnc自动结算的问题
  17. 高斯消元法(C++实现)
  18. 亮点与槽点齐飞的Netflix“黑客日”:4D特效、饭圈产粮神器、会议室攻略……...
  19. 今天遇到的坑--this.$emit
  20. 计算机二级的关系与关系模式一样吗,2013年计算机二级access关系数据库知识

热门文章

  1. excel计算机快捷键大全,excel表格使用技巧快捷键大全
  2. 4 软件业务分析要点
  3. svn linux客户端使用教程,linux svn 客户端安装配置
  4. python是自由开放源代码软件吗_附录:免费/自由和开放源码软件
  5. 暴力猴加脚本的适当应用
  6. 游戏策划小白笔记——Common Sense(二)
  7. jquery ztree 设置勾选_zTree 勾选checkbox
  8. JAVA win10 JDK环境配置(内含JDK,eclipse安装包)
  9. simulink实现模糊PID控制
  10. Fiddler中文乱码解决方法