반응형
악시오스 요격기의 Vue-Router
vue-cli 3을 사용하여 하나의 프로젝트를 생성하므로 다음을 실행합니다.
>vue create my-app;
>cd my-app
>vue add axios
vue create in my-app\src\plugins\file axios.files를 다음 코드로 만듭니다.
"use strict";
import Vue from 'vue';
import axios from "axios";
// Full config: https://github.com/axios/axios#request-config
// axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
let config = {
// baseURL: process.env.baseURL || process.env.apiUrl || ""
// timeout: 60 * 1000, // Timeout
// withCredentials: true, // Check cross-site Access-Control
};
const _axios = axios.create(config);
_axios.interceptors.request.use(
function(config) {
// Do something before request is sent
return config;
},
function(error) {
// Do something with request error
return Promise.reject(error);
}
);
// Add a response interceptor
_axios.interceptors.response.use(
function(response) {
// Do something with response data
return response;
},
function(error) {
// Do something with response error
return Promise.reject(error);
}
);
Plugin.install = function(Vue, options) {
Vue.axios = _axios;
window.axios = _axios;
Object.defineProperties(Vue.prototype, {
axios: {
get() {
return _axios;
}
},
$axios: {
get() {
return _axios;
}
},
});
};
Vue.use(Plugin)
export default Plugin;
그러나 응답 인터셉터에서 vue-router에 액세스해야 합니다.이미 'vue-router'에서 Import Router를 추가하고 Roter.push()를 사용하려고 합니다만, 실행할 때는 push가 메서드가 아니라고 합니다.이거랑 Vue는 못 쓰겠어.$140도..
어떻게 하면 고칠 수 있을까요?째깍째
Axios interceptor 내부 또는 컴포넌트 파일 외부에 있는 라우터를 사용하려면 라우터 엔트리 파일 내부에 작성된 어플리케이션의 라우터 인스턴스를 Import해야 합니다(디폴트).router.js
).
인스턴스는 어플리케이션의 엔트리 파일과 같은 경로에서 Import해야 합니다(기본값).main.js
):
import router from './router'
이렇게 하면 설명서에 설명된 대로 모든 메서드에 액세스할 수 있습니다.
언급URL : https://stackoverflow.com/questions/52948253/vue-router-in-axios-interceptor
반응형
'source' 카테고리의 다른 글
주석 누락으로 인해 실행 시 ClassNotFoundException이 발생하지 않는 이유는 무엇입니까? (0) | 2022.09.04 |
---|---|
Java에서 Class Atribute를 루프오버하려면 어떻게 해야 합니까? (0) | 2022.09.04 |
LOAD DATA INFILE을 사용하여 MySQL 테이블로 가져올 때 CSV 파일의 열을 건너뛰는 방법은 무엇입니까? (0) | 2022.09.04 |
Axios ajax, Ajax 요청 시 로드 표시 (0) | 2022.09.03 |
Maven 경고 메시지 사용 안 함 - "선택한 전쟁 파일에는 무시될 WEB-INF/web.xml이 포함됩니다." (0) | 2022.09.03 |