鍍金池/ 問(wèn)答/HTML/ 關(guān)于axios封裝,如何在攔截器里的錯(cuò)誤回調(diào)里優(yōu)雅的引用模態(tài)框組件

關(guān)于axios封裝,如何在攔截器里的錯(cuò)誤回調(diào)里優(yōu)雅的引用模態(tài)框組件

import Vue from 'vue'
import axios from 'axios'
import qs from 'qs'

var ajax = axios.create({
  headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'},
  // 超時(shí)時(shí)間120s
  timeout: 120 * 1000,
  validateStatus (status) {
    return true
  }
})

ajax.interceptors.request.use((config) => {
  // 在請(qǐng)求發(fā)出之前進(jìn)行一些操作 loding
  config.data = qs.stringify(config.data)
  return config
}, (error) => {
  return Promise.reject(error)
})

ajax.interceptors.response.use((res) => {
  // 在這里對(duì)返回的數(shù)據(jù)進(jìn)行處理
  return res
}, (error) => {
  // TODO 待補(bǔ)充
  return Promise.reject(error)
})

Vue.prototype.ajax = ajax

export default ajax

例如我在請(qǐng)求之前想調(diào)用下loading組件,或者修改vue實(shí)例的屬性load=true,或者在失敗時(shí)調(diào)用下modal組件彈出下錯(cuò)誤信息,怎么樣才能引用的到呢

回答
編輯回答
深記你

clipboard.png

2018年5月14日 20:54
編輯回答
吃藕丑

把組件封裝成命令式調(diào)用,可以參考 mint-ui 的實(shí)現(xiàn)方式
https://github.com/ElemeFE/mi...

使用方式
http://mint-ui.github.io/docs...

2018年6月14日 13:20