技术标签: vue
初始化全局loading状态
let loading = null
封装loading显示与隐藏的方法
//显示加载
function showLoading(){
if(requestCount === 0){
loading = Message({
message:"加载中...",
duration:0
})
}
//隐藏加载
function hideLoading(){
if(loading){
loading.close()
}
}
分析: 在什么样的情况下显示或隐藏loading
当用户发送请求时:
请求拦截器成功则,显示loading
请求拦截器失败则,隐藏loading
相应拦截器成功与失败皆设置为隐藏loading
//添加请求拦截器
axios.interceptors.request.use((config)=>{
console.log(config)
let token = window.sessionStorage.getItem("token")
if(config.token === true){
config.headers.token = token
}
if(config.loading == true){
//显示隐藏
showLoading()
}
//console.log(config)
//再发送请求之前做些什么
return config;
},(error)=>{
//隐藏加载
hideLoading();
//对请求错误做些什么
return Promise.reject(error);
});
//添加响应拦截器
axios.interceptors.response.use((request)=>{
console.log("响应拦截器 成功")
//隐藏加载
hideLoading()
//对响应数据做点什么
return response;
},(err)=>{
//console.log(err);
if(err.response.data && err.response.data.errorCode){
vue.prototype.$message(err.response.data.msg)
}
//隐藏加载
hideLoading()
//对响应错误做点什么
return Promise.reject(err);
});
初始化变量 requestCount 用于计数
let requestCount = 0
通过请求次数决定是否执行显示加载与隐藏加载
如果requestCount值为0 则显示加载 并且执行++
// 显示加载
function showLoading(){
//如果requestCount值为0 则显示加载
if(requsetCount === 0){
loading = Message({
message:"加载中",
duration:0
})
}
//并且执行++
requsetCount++
}
如果requestCount 大于0 则自减,并且当loading为true
requestCount===0,则隐藏loading
// 隐藏加载
function hideLoading(){
if(requsetCount > 0){
requsetCount--
}
if(loading && requsetCount === 0){
loading.close()
}
}
设置指定的属性loading 并给与指定的值,通过请求传递参数触发
axios.post("admin/logout",{
},{
token:true,
loading:true
})
如果传递了参数,并且值相等,则显示加载
if(config.loading === true){
// 显示加载
showLoading()
}
有什么问题大家可以留言哦!
1、简介Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。
1、读取CSV文件data = pd.read_csv(r'.\')2、看数据大致情况data.info()3、当表很大的时候想看表长什么样子data.head(n)#显示前n行4、删除表的若干列data.trop(['aaa','bbb','ccc'],inplace = True,axis = 1)#删除表头为aaa,bbb,ccc的列,inplace = True并用后来的表去覆盖前面的表5、用均值填补缺失值data['age'] = data['age'].fillna(d
本文章介绍了C#创建Windows服务与服务的安装、卸载,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。
1.class A {}class B extends A {}class C extends A {}class D extends B {}Which four statements are true ?A.The type List<A>is assignable to List.B.The type List<B>is assignable to List<A...
大家好,最近有点忙,更新的速度低于当初设定的Smart Goal, 有点懊悔,这周就迎头赶上。加油!这周的内容是资料分享,这些资料是上次第一季的补充以及最近工作中的总结,以及一些老铁的要求,逐步进行增加,详细内容如下所示,希望对大家的学习,工作能有些帮助!资料来源:网络以及自己之前收集, 小蚂蚁只是一个知识搬运工,若你是资料的作者,请联系小编,进行删除,尊重原创从我做起。资料适用群:模型开发的初学...
先来看一个TI官方例程代码片段// ***************************************** // Inverter PWM configuration // **************************************** /* By default on soprano the PWM clock is divided by 2 * Clk...
项目简介运行平台:windowsPython版本:3.4Django版本:2.0数据库工具:sqlite开发工具:Pycharm+sublime-text写在开头:这是我第一次使用Django进行web开发,在此之前并无任何web开发经验。其中,Django以及html/css都属于边学边用阶段,因此项目中可能出现一些粗糙的地方,读者可以自行规避。虽然本项目名为信息资源型系统,但是其实...
测试用例在测试执行之前,又测试人员编写的用来指导测试过程的重要文档,测试用例主要由:用例编号,测试目的,测试步骤,预期结果组成。功能测试中设计测试用例的方法?等价值划分法(*)边界值法(*)因果图法判断表法正交排列法测试大纲法场景法(*)等价划分法1.应用场合 有数据输入地方就可以使用等价类划分方法。从无穷多的数据中,挑选少量的代表数据进行测试。2.等价划分思想 从大...
有几个文章大概的题目如: 软件测试行业缺口多少多少万; 软件测试人员比博士还值钱; 软件测试越老越吃香; 软件测试是金饭碗; 等等等等。 以下是我的一些个人看法。 1、行业 我们都知道媒体的报到都是因为一些利益驱动的,并不是为了良心和行业的良性发展,要是从工作的角度来说,我觉得他们很到位,但是少了一点,就是社会责任心。做为一个有...
项目下载地址:【百度网盘】在 文件中添加自己的类别运行voc_annotation.py文件生成里面的.txt文件以及训练用的、文件在 位置下添加权重文件 直接运行 文件即可~
Fire!两个bfs,第一个先预处理,用p数组预处理时间;第二个,只要p数组大于当前时间,说明路可通#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>#include<vector>#include<map>#include<queue>#inclu
> 1414 - OUT or INOUT argument 2 for routine springcloud.test5 is not a variable or NEW pseudo-variable in BEFORE trigger> 时间: 0s在学习存储过程时报错如下需求:调用存储过程时,传入studentId 返回该student的name原来语句:CREATE PROCEDURE test5(IN studentId int,OUT username VARCHA