vue2 生成全局请求loading的代码
时间: 2024-04-19 21:07:35 浏览: 66
可以使用 Vue 的 mixin 功能,在全局混入一个 loading 的方法,如下所示:
```
// 在 main.js 中引入
import Vue from 'vue'
// 全局混入 loading 方法
Vue.mixin({
data() {
return {
isLoading: false
}
},
methods: {
showLoading() {
this.isLoading = true
},
hideLoading() {
this.isLoading = false
}
}
})
```
然后在需要显示 loading 的地方调用 `showLoading()` 方法,在请求结束后调用 `hideLoading()` 方法隐藏 loading。
例如:
```
methods: {
fetchData() {
this.showLoading() // 显示 loading
axios.get('/api/data').then(res => {
// 处理数据
this.hideLoading() // 隐藏 loading
})
}
}
```
最后在模板中使用 `v-if` 判断 isLoading 的值来显示或隐藏 loading:
```
<template>
<div>
<div v-if="isLoading">Loading...</div>
<div v-else>
<!-- 页面内容 -->
</div>
</div>
</template>
```
阅读全文