博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vuex存储loading加载
阅读量:4111 次
发布时间:2019-05-25

本文共 1452 字,大约阅读时间需要 4 分钟。

一套基于 Vue.js 的高质量 UI 组件库 iView

loading.vue 

 

1.loading.js

const loading = {  state:{    isLoading:false,    showModal:true  },  mutations:{    BEGIN_LOADING(state){      state.isLoading = true    },    END_LOADING(state){      state.isLoading = false    },    MODAL_LOADING(state){      state.showModal = false    }  },  actions:{    beginLoading({ commit }){      commit('BEGIN_LOADING')    },    endLoading({ commit }){      commit('END_LOADING')    },    modalLoading({ commit }){      commit('MODAL_LOADING')    }  }};export default loading

2.store/index.js引入:也可以不把loading.js独立出来,直接放入store中,根据需要定

import Vue from 'vue';import Vuex from 'vuex';import loading from './loading';Vue.use(Vuex);const store = new Vuex.Store({  modules:{    loading  }});export default store

3.main.js引入store文件 :

import Vue from 'vue'import App from './App'import router from './router'import store from './store'...//挂载new Vue({  el: '#app',  router,  store,  components: { App },  template: '
'})

 

4.axios数据请求响应拦截 使用: 

import axios from 'axios';import store from './store';import router from './router'axios.interceptors.request.use((config)=>{   ......  //携带token  store.dispatch('beginLoading');  return config});axios.interceptors.response.use((config)=>{  ......  store.dispatch('endLoading');  //获取token,验证,跳转  return config})

在组件container.vue中使用:退出时候调用 loading

由于之前没有加上loading组件在页面调用,再次补充。

转载地址:http://xjesi.baihongyu.com/

你可能感兴趣的文章
Anaconda 搭建python3.5 开发环境
查看>>
Linux基础系列-定时器与时间管理
查看>>
Linux基础系列-可执行程序的产生过程
查看>>
Linux基础系列-Kernel 初始化宏
查看>>
Linux子系统系列-I2C
查看>>
元旦前
查看>>
2010远去了
查看>>
音乐与代码
查看>>
Linux基础系列-DEBUG
查看>>
Linux基础系列-信号及信号处理
查看>>
Think more, do more!
查看>>
Linux子系统系列-时钟子系统
查看>>
六一悄悄的过了
查看>>
Linux子系统系列-TTY
查看>>
Linux子系统系列-PCI
查看>>
Linux子系统系列-网络
查看>>
关于Zbar和ZXing这两个无比强大的二维码和条形码识别工具
查看>>
ASIHTTPRequest类库简介和使用说明
查看>>
ios中http 和https 协议的访问
查看>>
PHP+Apache+MySQL经典搭配,创建环境一 PHP安装(转载并修改)
查看>>