我正在构建一个vue应用程序,我正在使用axios.我有一个加载图标,我在每次通话之前显示并隐藏在之后.
我只是想知道是否有一种方法可以在全球范围内执行此操作,因此我不必在每次调用时都编写显示/隐藏加载图标?
这是我现在的代码:
context.dispatch('loading', true, {root: true});
axios.post(url,data).then((response) => {
// some code
context.dispatch('loading', false, {root: true});
}).catch(function (error) {
// some code
context.dispatch('loading', false, {root: true});color: 'error'});
});
Run Code Online (Sandbox Code Playgroud)
我在axios docs上看到有"拦截器",但我不知道它们是处于全球水平还是每次通话.
我也看到了这个帖子的jquery解决方案,不知道如何在vue上实现它:
$('#loading-image').bind('ajaxStart', function(){
$(this).show();
}).bind('ajaxStop', function(){
$(this).hide();
});
Run Code Online (Sandbox Code Playgroud)