Vue基于vuex、axios拦截器实现loading效果及axios的安装配置


Posted in Javascript onApril 26, 2019

准备

  • 利用vue-cli脚手架创建项目
  • 进入项目安装vuex、axios(npm install vuex,npm install axios)

axios配置

项目中安装axios模块(npm install axios)完成后,进行以下配置:

main.js

//引入axios
import Axios from 'axios'
//修改原型链,全局使用axios,这样之后可在每个组件的methods中调用$axios命令完成数据请求
Vue.prototype.$axios=Axios

loading组件

我这里就选择使用iview提供的loading组件,

npm install iview

main.js
import iView from 'iview';
import 'iview/dist/styles/iview.css';
Vue.use(iView);

安装引入后,将loading写成一个组件loading.vue

Vue基于vuex、axios拦截器实现loading效果及axios的安装配置

Vuex state状态设置控制loading的显隐

store.js(Vuex)

export const store = new Vuex.Store({
  state:{
    isShow:false
  }
})

在state中定义isShow属性,默认false隐藏

v-if="this.$store.state.isShow"

为loading组件添加v-if绑定state中的isShow

组件使用axios请求数据

<button @click="getData">请求数据</button>
methods:{
    getData(){
      this.$axios.get('https://www.apiopen.top/journalismApi')
      .then(res=>{
        console.log(res)//返回请求的结果
      })
      .catch(err=>{
        console.log(err)
      })
    }
  }

我这里使用一个按钮进行触发事件,利用get请求网上随便找的一个api接口,.then中返回请求的整个结果(不仅仅包括数据)

Axios拦截器配置

main.js

//定义一个请求拦截器
Axios.interceptors.request.use(function(config){
 store.state.isShow=true; //在请求发出之前进行一些操作
 return config
})
//定义一个响应拦截器
Axios.interceptors.response.use(function(config){
 store.state.isShow=false;//在这里对返回的数据进行处理
 return config
})

分别定义一个请求拦截器(请求开始时执行某些操作)、响应拦截器(接受到数据后执行某些操作),之间分别设置拦截时执行的操作,改变state内isShow的布尔值从而控制loading组件在触发请求数据开始时显示loading,返回数据时隐藏loading

特别注意:这里有一个语法坑(我可是来来回回踩了不少次)main.js中调取、操作vuex state中的数据不同于组件中的this.$store.state,而是直接store.state 同上面代码

效果展示

Vue基于vuex、axios拦截器实现loading效果及axios的安装配置

Vue基于vuex、axios拦截器实现loading效果及axios的安装配置

总结

以上所述是小编给大家介绍的Vue基于vuex、axios拦截器实现loading效果及axios的安装配置,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
prototype 的说明 js类
Sep 07 Javascript
Array.slice()与Array.splice()的返回值类型
Oct 09 Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 Javascript
jquery操作checked属性以及disabled属性的多种方法
Jun 20 Javascript
JavaScript实现动态创建CSS样式规则方案
Sep 06 Javascript
JavaScript中利用各种循环进行遍历的方式总结
Nov 10 Javascript
jQuery实现文档树效果
Feb 20 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
Mar 13 Javascript
JS使用tofixed与round处理数据四舍五入的区别
Oct 25 Javascript
vue-cli3 从搭建到优化的详细步骤
Jan 20 Javascript
electron踩坑之dialog中的callback解决
Oct 06 Javascript
js实现缓动动画
Nov 25 Javascript
详解auto-vue-file:一个自动创建vue组件的包
Apr 26 #Javascript
vue组件间的参数传递实例详解
Apr 26 #Javascript
详解VUE前端按钮权限控制
Apr 26 #Javascript
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 #Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
Apr 26 #Javascript
微信小程序实现的绘制table表格功能示例
Apr 26 #Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
Apr 26 #Javascript
You might like
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
PHP+MySQL实现模糊查询员工信息功能示例
2018/06/01 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
vue中的自定义分页插件组件的示例
2018/08/18 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
JavaScrip数组去重操作实例小结
2019/06/20 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
js实现页面导航层级指示效果
2020/08/25 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
tensorflow 获取所有variable或tensor的name示例
2020/01/04 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
学生感冒英文请假条
2014/02/04 职场文书
师德师风整改措施
2014/10/24 职场文书
十个Python自动化常用操作,即拿即用
2021/05/10 Python