美文网首页让前端飞前端Vue专辑Vue驿站
axios拦截器与vuex状态控制应用

axios拦截器与vuex状态控制应用

作者: 苏茶茉芳_亚泽伊 | 来源:发表于2018-12-27 08:30 被阅读6次

本章概述

        axios的拦截器也是钩子的一种,在请求或响应前可以定义一些操作。最广泛的应用就是利用axios钩子防止用户多次点击按钮发送请求。 

应用场景

        当用户高频率点击提交按钮可能就会把一个请求发送多次,为了防止这种情况。我们可以利用钩子设置一个状态isLoading。请求钩子内置true,响应钩子内置false,每次调用前判断isLoading是否为真,如果为真不继续请求。isLoading使用Vuex进行状态管理。

图文详解

         首先vuex中添加一个状态isLoading。如图1,store.js写入

图1.store.js

        然后添加拦截器,我写在了main.js中。如图2。使用store.commit()转换isLoading的状态。

图2.main.js

        最后在我二次封装的axios中判断isLoading。如果为真直接返回不请求。

图3.axios.js

其他

        除了在二次封装的axios中判断isLoading的真假。我们还可以通过编写公共方法的方式,在公共方法中取isLoading的值,在参数准备等之前就调用方法型如(if(this.$common.checkLoading()))来判断。或者直接在组件中用computed读vuex中的状态,在参数准备等之前判断形如(this.isLoading)的值。

项目源码gitee链接

转载到其他平台需含本文的简书链接,vue技术我只在简书发布

相关文章

  • axios拦截器与vuex状态控制应用

    本章概述 axios的拦截器也是钩子的一种,在请求或响应前可以定义一些操作。最广泛的应用就是利用axios...

  • axios拦截器接口配置与使用

    一:什么是axios拦截器、为什么要使用axios拦截器? 在vue项目中,我们通常使用axios与后台进行数据交...

  • 封装与后台交互的API(axios)

    一、引入使用axios和使用拦截器(配合vuex使用,一般可以用来加token) /src/utils/reque...

  • 配置axios拦截器

    axios拦截器: 应用场景: 每个请求都带上的参数,比如token,时间戳等。 对返回的状态进行判断,比如tok...

  • axios的封装

    Axios的拦截器介绍 axios的拦截器原理如下:image.pngaxios拦截器axios作为网络请求的第三...

  • axios 响应拦截器,状态码判断

    // axios 响应拦截器,状态码判断 axiosIns.interceptors.response.use(f...

  • axios二次封装处理

    二次封装axios拦截器 更方便处理前端接口请求 vue官网文档[https://vuex.vuejs.org/z...

  • 移动端vue项目模板

    模板项目技术栈 vue-cli3脚手架 vue-router vuex跨组件通信 rem适配 axios拦截器 t...

  • Vue知识总结(2)

    Vuex状态管理 Vuex是专门为Vue应用程序提供的状态管理模式,每个Vuex应用的核心是store(仓库),即...

  • vuex二次总结

    Vuex状态管理 每个Vuex应用的核心是store(仓库)Vuex是专门为Vue应用程序提供的状态管理模式,每个...

网友评论

    本文标题:axios拦截器与vuex状态控制应用

    本文链接:https://www.haomeiwen.com/subject/majwhqtx.html