반응형
두 개의 명명된 vuex 모듈 간에 작업을 디스패치하는 방법이 있습니까?
네임 스레드 모듈 간에 액션을 디스패치할 수 있습니까?
예: vuex 모듈 "게임보드" 및 "알림"이 있습니다.각각 이름표시가 되어 있습니다.게임보드에서 알림 모듈로 액션을 보내고 싶습니다.
디스패치 액션명에는 다음과 같이 모듈명을 사용할 수 있다고 생각했습니다.
// store/modules/gameboard.js
const actions = {
myaction ({dispatch}) {
...
dispatch('notification/triggerSelfDismissingNotifcation', {...})
}
}
// store/modules/notification.js
const actions = {
triggerSelfDismissingNotification (context, payload) {
...
}
}
그러나 이렇게 하려고 하면 오류가 발생하여 vuex가 게임보드 모듈 내에서 액션을 디스패치하려고 합니다.
[vuex] 알 수 없는 로컬 작업 유형: 알림/트리거셀프 디스미스 알림, 글로벌 유형: 게임보드/알림/트리거셀프 디스미스 알림
vuex 모듈에서 모듈로 디스패치하는 방법이 있나요?아니면 루트 vuex 인스턴스에 일종의 브릿지를 작성해야 합니까?
루트 컨텍스트에서 디스패치하도록 지정하기만 하면 됩니다.
// from the gameboard.js vuex module
dispatch('notification/triggerSelfDismissingNotifcation', {...}, {root:true})
이제 디스패치가 루트에 도달하면 알림 모듈에 대한 올바른 네임스페이스 경로가 생성됩니다(루트 인스턴스에 대한 상대).
이것은, 다음의 설정을 실시한다고 가정하고 있습니다.namespaced: true
vuex 스토어 모듈로 이동합니다.
dispatch('mobuleB/actionB', null, {root: true})
out params로 트리거하려면 다음을 사용합니다.
dispatch('mobuleB/actionB', null, { root: true })
또, 이하와 같이 됩니다.
params use dispatch('mobuleB/actionB', {param}, { root: true })
언급URL : https://stackoverflow.com/questions/42984132/is-there-a-way-to-dispatch-actions-between-two-namespaced-vuex-modules
반응형
'programing' 카테고리의 다른 글
appcompat v7을 사용하여 EditText 최종 라인 색상 변경 (0) | 2022.07.11 |
---|---|
%*의 형식 지정자는 무엇을 의미합니까? (0) | 2022.07.11 |
Larabel 백엔드를 사용하여 풀스택 Vue 프런트엔드를 사용하여 로그인/로그아웃하는 방법 (0) | 2022.07.11 |
Vue-cli 3 - 재료 설계 아이콘 설치 (0) | 2022.07.11 |
V-inside v-for - 두 열에 항목 목록 표시 (0) | 2022.07.11 |