vue项目请求拦截器中可以写全局loading吗
是的,可以在Vue项目的请求拦截器中写全局loading。在请求开始时展示loading,请求结束时隐藏loading即可。以下是一个示例:
import axios from 'axios'
import { Loading } from 'element-ui'
// 创建一个loading实例
const loading = Loading.service()
// 请求拦截器
axios.interceptors.request.use(
config => {
// 在发送请求之前展示loading
loading.show()
return config
},
error => {
return Promise.reject(error)
}
)
// 响应拦截器
axios.interceptors.response.use(
response => {
// 请求成功时隐藏loading
loading.hide()
return response
},
error => {
// 请求失败时隐藏loading
loading.hide()
return Promise.reject(error)
}
)
在上面的代码中,我们使用了element-ui的Loading组件来展示loading效果,你也可以使用其他UI库或自定义loading组件来实现。在请求拦截器中,在发送请求之前展示loading,在响应拦截器中,无论请求成功还是失败,都隐藏loading。这样就可以实现全局loading的效果。
原文地址: https://www.cveoy.top/t/topic/i5kC 著作权归作者所有。请勿转载和采集!