В настоящее время я создаю приложение 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'});
});
Я видел на документах axios "перехватчики", но я не знаю, находятся ли они на глобальном уровне или на каждомcall.
Я также видел этот пост для решения jquery, хотя не уверен, как реализовать его на vue:
$('#loading-image').bind('ajaxStart', function(){
$(this).show();
}).bind('ajaxStop', function(){
$(this).hide();
});