zoukankan      html  css  js  c++  java
  • axios全局loading与实例loading

    axios全局loading与实例loading

    参考文章:https://blog.csdn.net/qq_40963664/article/details/94554176

    何为全局与实例?

    文档上的全局指的是在axios中进行配置拦截器,即全局拦截器,并在拦截器中对config进行修改,添加loading效果组件等。

    但是

    此处要介绍的是,如何在实例中设置一个loading效果,并在其他地方控制效果。即在某些页面需要显示其他不同的loading效果。

    config

    通过config可以将控制变量传到拦截器中(或者说拦截器可以拦截到config内容并解析)。

    例如,我们在login用的是uni-app的全局loading效果,而在其他功能页面用的是专用的页面loading。

    这时就需要通过传入一个控制变量来关闭掉全局配置的loading效果。

    // 实例化axios
    const service = axios.create({
      baseURL: 'http://***.***.***.***:****', // 基础请求地址
      timeout: 10000 // request timeout
    })
    
    // 封装post请求
    service.post(url, params, {
        headers,
        showLoading		// 此处即为loading效果的显示控制变量
    })
    

    在拦截器中判断

    service.interceptors.request.use(
      // eslint-disable-next-line arrow-body-style
      (config) => {
        // 请求发出前做的事
    			// 请求是否需要loading效果
    		if (config.showLoading) {
    			showFullScreenLoading()
    		}
          ...
      }
    )
    
  • 相关阅读:
    python字典类型
    python集合类型
    python元组类型
    python列表类型
    Python中的序列操作
    python字符串格式化输出
    python可变对象和不可变对象的解释
    Python数值类型
    Python循环结构用法
    python if条件判断语句
  • 原文地址:https://www.cnblogs.com/CreateBox/p/15194681.html
Copyright © 2011-2022 走看看