Programing

다른 액션 내에서 액션 호출

c10106 2022. 3. 5. 21:35
반응형

다른 액션 내에서 액션 호출

내 작업에 대해 다음과 같은 설정이 있다.

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

반응형