Ajax 请求前总是要需要一个 loading 变量来
那么这个 loading
的最佳实践是啥? 每一个 Ajax 都要写一个 loading, 感觉每次重复写很蛋疼,
用 vue 写个示例代码
<template>
<div>
<div class="del" v-loading="loading.del"></div>
<div class="list" v-loading="loading.list"></div>
</div>
</template>
<script>
export default {
name: '',
data: () => ({
loading: {
del: false,
list: false,
},
}),
methods:{
ajaxDel(){
const {loading} = this; // <--- 这一坨
if (loading.del) return ; // <--- 这一坨
loading.del = true; // <--- 这一坨
ajax.get('/del')
.then(() => {...})
.catch(() => {...})
.finally(() => {
loading.del = false; // <--- 这一坨
})
},
ajaxDel(){
const {loading} = this;
if (loading.list) return ;
loading.list = true;
ajax.get('/list')
.then(() => {...})
.catch(() => {...})
.finally(() => {
loading.list = false;
})
}
}
};
</script>
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.