반응형
다른 액션 내에서 액션 호출
내 작업에 대해 다음과 같은 설정이 있다.
get1: ({commit}) => {
//things
this.get2(); //this is my question!
},
get2: ({commit}) => {
//things
},
나는 한 가지 행동을 다른 내부에서 불러올 수 있기를 원하므로 이 예에서 나는 전화를 걸 수 있기를 원한다.get2()
안에서get1()
.이것이 가능한가, 만약 가능하다면 어떻게 할 수 있을까?
에 대한 액세스 권한dispatch
첫 번째 매개 변수에 전달된 개체의 메서드:
get1: ({ commit, dispatch }) => {
dispatch('get2');
},
이 내용은 설명서에서 다룬다.
첫 번째 인수(컨텍스트)를 통해 디스패치 방법에 액세스할 수 있다.
export const actions = {
get({ commit, dispatch }) {
dispatch('action2')
}
}
그러나 이름을 미리 지정한 경우 다음 옵션을 지정하십시오.
export const actions = {
get({ commit, dispatch }) {
dispatch('action2', {}, { root: true })
}
}
페이로드가 필요하지 않은 작업의 경우
actions: {
BEFORE: async (context, payload) => {
},
AFTER: async (context, payload) => {
await context.dispatch('BEFORE');
}
}
페이로드(payload
actions: {
BEFORE: async (context, payload) => {
},
AFTER: async (context, payload) => {
var payload = {}//prepare payload
await context.dispatch('BEFORE', payload);
}
}
파견을 하는 동안에도 매개 변수를 전달할 수 있다.
dispatch('fetchContacts', user.uid);
export actions = {
GET_DATA (context) {
// do stuff
context.dispatch('GET_MORE_DATA');
},
GET_MORE_DATA (context) {
// do more stuff
}
}
참조URL: https://stackoverflow.com/questions/45848974/call-an-action-from-within-another-action
반응형
'programing' 카테고리의 다른 글
vue.js 2의 수업에서 어떻게 조건을 추가할 수 있을까? (0) | 2022.03.09 |
---|---|
Vue 2방향 프로펠러 바인딩 (0) | 2022.03.09 |
프로그래밍 방식으로 탐색할 때 라우터를 반응시키고 데이터를 전달하시겠습니까? (0) | 2022.03.09 |
Vuetify에서 중단점을 사용하여 화면 크기에 따라 마진을 다르게 지정하는 방법 (0) | 2022.03.09 |
VueJS - 마운트된 내부 저장 데이터 액세스 (0) | 2022.03.09 |