반응형
Axios 핸들러 내에서 Vuex 저장소를 사용할 수 없습니다.
Vue 컴포넌트의 버튼에 의해 정상적으로 호출된 메서드가 있습니다.
methods: {
goTestMe() {
console.log(this.$store.state.lang+' 1')
let url = 'some api url'
let headers = { headers: { 'Content-Type': 'application/json' } }
this.$axios
.get(url, headers)
.then(function(response) {
console.log('here')
console.log(this.$store.state.lang+' 2')
})
문제는 이 출력은 다음과 같습니다.
en-us 1
here
필요한 경우:
en-us 1
here
en-us 2
분명히, 에 대한 참조는this.$store.state
에 실패하다then()
Axios 콜의 핸들러.
왜 이러한가?제 Axios 요청으로 받은 데이터를 Vuex 스토어로 보내려면 어떻게 해야 하나요?
일반 함수로 콜백을 추가하면 글로벌 객체에 액세스할 수 없으므로 화살표 함수로 변경해야 합니다.
methods: {
goTestMe() {
console.log(this.$store.state.lang+' 1')
let url = 'some api url'
let headers = { headers: { 'Content-Type': 'application/json' } }
this.$axios
.get(url, headers)
.then((response) => { // change it to arrow function
console.log('here')
console.log(this.$store.state.lang+' 2')
})
}
언급URL : https://stackoverflow.com/questions/66508079/vuex-store-cannot-be-used-inside-axios-handler
반응형
'programing' 카테고리의 다른 글
"No closing instance of type Foo is accessible" 오류의 원인 및 수정 방법 (0) | 2022.08.23 |
---|---|
C 및 C++ 함수에 다차원 배열을 전달하는 방법 (0) | 2022.08.16 |
strcpy 대신 strncpy를 사용해야 하는 이유는 무엇입니까? (0) | 2022.08.16 |
Java 클래스가 로드되는 위치를 찾습니다. (0) | 2022.08.16 |
Array List를 되돌리는 가장 간단한 방법은 무엇입니까? (0) | 2022.08.16 |