Я хочу использовать Axios
interceptors
, чтобы показать мой компонент загрузчика, пока Axios
выполняет запрос. В свой корневой компонент я поместил эти interceptors
в функцию created()
. В этом компоненте у меня также есть свойство с именем isLoading
, которое установлено на false
. Когда запрос сделан, я хочу установить его на true
. Но когда я пытаюсь получить доступ к свойству, он говорит:
TypeError: Невозможно прочитать свойство isLoading
из неопределенного
Почему я не могу получить доступ к isLoading
свойство внутри функции Axios
? Это мой компонент:
<template>
<v-app>
<AppBar />
<router-view/>
<Loader v-if="isLoading"></Loader>
</v-app>
</template>
<script>
import AppBar from '../components/AppBar';
import Loader from '../components/Loader';
import axios from 'axios';
export default {
name: "App",
components: {
AppBar,
Loader
},
data() {
return {
isLoading: false
}
},
created() {
axios.interceptors.request.use(function (config) {
this.isLoading = true;
return config;
}, function (error) {
this.isLoading = false;
return Promise.reject(error);
});
axios.interceptors.response.use(function (response) {
this.isLoading = false;
return response;
}, function (error) {
return Promise.reject(error);
});
}
};
</script>