반응형
서비스 파일의 디스패치 돌연변이
나는 있습니다.ApiService()
API 호출을 추상화하는 중입니다.그러고 싶어요.dispatch('SET_BUSY')
그리고.dispatch('SET_NOT_BUSY')
서비스 내에서 앱 레벨 돌연변이가 발생하지만 다음 오류가 발생합니다.
TypeError: dispatch is not a function. (In 'dispatch('SET_BUSY')', 'dispatch' is undefined)
/vuex/sys.js
import { ApiService } from './services';
export const setAppMode = function ({ dispatch }) {
ApiService({
noun: 'Application',
verb: 'GetMode'
}, response => {
dispatch('SET_APP_MODE', response.Data.mode);
},
dispatch);
};
/vuex/services.제이에스
import Vue from 'vue';
export const ApiService = (options = {}, callback, dispatch) => {
let endpoint = 'localhost/api/index.php';
let parameters = options.data;
dispatch('SET_BUSY');
Vue.http.post(endpoint, parameters, []).then((promise) => {
return promise.text();
}, (promise) => {
return promise.text();
}).then(response => {
response = JSON.parse(response);
dispatch('SET_NOT_BUSY');
if (response.Result === 'ERROR') {
console.log('ERROR: ' + response.Error.Message);
}
callback(response);
});
};
작업 함수는 저장소 인스턴스를 첫 번째 매개 변수로 예상합니다.이 작업은 일반적으로 Vuex에서 자동으로 수행됩니다.
Vue 인스턴스에서 작업을 사용하는 경우 Vuex 1에서 작업을 수행하는 방법은 다음과 같습니다.
import { setAppMode } from './actions'
new Vue({
vuex: {
actions: {
setAppMode
}
}
})
이제 사용할 수 있습니다.this.setAppMode()
첫 번째 인수로 스토어를 자동으로 사용할 수 있도록 합니다.
참고: 또한 다음을 설정해야 합니다.store
VM 속성
import store from `./store`
// and inside the VM options:
{
store: store
}
한다면store
vm 인스턴스로 설정되지 않았지만 수동으로 매개 변수로 전달할 수 있습니다.
this.setAppMode(store);
언급URL : https://stackoverflow.com/questions/39835451/dispatch-mutations-from-service-file
반응형
'IT' 카테고리의 다른 글
bash 스크립트에서 테이블 mariadb 업데이트 (0) | 2023.06.17 |
---|---|
Angular 2 이상 변수 업데이트/액세스가 완료될 때까지 구독 대기 (0) | 2023.06.17 |
파이썬에서 파일을 목록으로 읽는 방법은 무엇입니까? (0) | 2023.06.17 |
PHPExcel 라이브러리를 대형으로 설치하려면 어떻게 해야 합니까? (0) | 2023.06.17 |
Firebase 인증/권한 없는 도메인입니다.도메인이 인증되지 않았습니다. (0) | 2023.06.17 |